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 ROM รวมถึงปลั๊กอิน 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
เมื่อคุณติดตั้ง toolchains ของ devkitPro แล้ว คุณสามารถสร้าง TWiLight Menu++ ทั้งหมดได้เพียงแค่รัน make package
ในรูทของ repository หากคุณต้องการสร้างเฉพาะส่วนของ 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-Manual
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
และอื่นๆ
gbapatcher
imageview : โปรแกรมดูรูปภาพที่คล้ายกับกล้อง DSi (gif, png, bmp)
/_nds/TWiLightMenu/imageview.srldr
manual : คู่มือการใช้งานสำหรับ TWiLight Menu++
สร้าง /_nds/TWiLightMenu/manual.srldr
เมนูด่วน : เมนู DS Lite ซึ่งเป็น UI แบบคลาสสิกแบบเก่า
สร้าง /_nds/TWiLightMenu/mainmenu.srldr
ทรัพยากร : ผสานการต่อต้านการละเมิดลิขสิทธิ์และแพตช์ไวด์สกรีนลงในไฟล์แพ็คเกจ
/_nds/TWiLightMenu/extras/apfix.pck
พิเศษ/apfix.pck และ /_nds/TWiLightMenu/extras/widescreen.pck
/พิเศษ/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
title : หน้าจอบูตสแปลช (โลโก้ Nintendo เป็นค่าเริ่มต้น)
สร้าง /_nds/TWiLightMenu/main.srldr
คุณสามารถช่วยแปล TWiLight Menu++ บนโปรเจ็กต์ Crowdin ได้ หากคุณต้องการขอเพิ่มภาษาใหม่ โปรดถามบนเซิร์ฟเวอร์ Discord
Rocket Robz: หัวหน้านักพัฒนา
chyyran: การย้าย akMenu/Wood UI ไปที่ TWiLight Menu++ และเพิ่มความสามารถในการโหลดธีมย่อยจากการ์ด SD สำหรับธีม DSi/3DS
Pk11: เพิ่มความสามารถในการโหลดสกินจากการ์ด SD สำหรับธีม R4, ใช้งานการเรียงลำดับ & สร้างคู่มือการใช้ PNG, การแสดงผลแบบอักษรที่ได้รับการปรับปรุง, มอบพื้นหลังที่กำหนดเองสำหรับ Unlaunch, การจัดการการแปล และการแก้ไขข้อบกพร่องต่างๆ
DieGo: การเพิ่มการรองรับไอคอน ROM/โฟลเดอร์ที่กำหนดเอง และการปรับปรุงสกินที่กำหนดเอง
lifehackerhansol: การปรับปรุงการรองรับการบูตอัตโนมัติของ flashcard และการโหลดเคอร์เนล และ libnds32 fork สำหรับการสนับสนุนไดรเวอร์ DLDI ขนาด 32KB
NightScript: การล้างโค้ด การกำหนดมาตรฐานโค้ด เพิ่มฟังก์ชันแฟลชการ์ดสำหรับธีม Wood UI หน้าคู่มือ
ahezard, shutterbug2000 และ Rocket Robz: nds-bootstrap (ใช้สำหรับเปิด Nintendo DS(i) ROM จากการ์ด SD)
Alekmaul: AmeDS (ใช้สำหรับเรียกใช้ Amstrad CPC ROMs)
Alekmaul และการเคลื่อนที่ของคลื่น: StellaDS, A5200DS, A7800DS, A8DS (ใช้สำหรับการเปิดตัว Atari 2600/5200/7800/XEGS ROMs) และ ColecoDS (ใช้สำหรับการเปิดตัว ColecoVision, MSX, Sord M5 และ Sega SG-1000/SC-3000 ROM)
คลังเก็บ: SNEmulDS (ใช้สำหรับเรียกใช้ SNES ROM)
Coto: การคืนชีพของ SNEmulDS
chishm: tuna-viDS (ใช้สำหรับเล่นวิดีโอ Xvid)
Drenn: GameYob (ใช้สำหรับเปิด Gameboy ROM)
FluBBaOfWard: S8DS (ใช้สำหรับการเปิดตัว Sega Master System, Game Gear, SG-1000/SG-3000 และ ROM ColecoVision), NitroGrafx (ใช้สำหรับการเปิดตัว ROM PC Engine/TurboGrafx-16), NitroSwan (ใช้สำหรับการเปิดตัว ROM WonderSwan), และ NGPDS (ใช้สำหรับการเปิดตัว Neo Geo Pocket ROM)
FluBBaOfWard, Coto และ Loopy: nesDS (ใช้สำหรับเรียกใช้ NES ROM)
Apache Thunder: TWL Edition ของ nesDS
Gericom: FastVideoDSPlayer (ใช้สำหรับเปิดวิดีโอ FastVideoDS) และ GBARunner2 (ใช้สำหรับเปิด GameBoy Advance ROM นอกโหมด GBA ของ DS Phat/Lite)
therealteamplayer: Hicode+DSP บิลด์ที่ผสานของ GBARunner2 ที่รวมอยู่ใน DSi/3DS
สัญลักษณ์ที่ยังไม่ได้แก้ไข: rom3M+master "DSL-Enhanced" builds ของ GBARunner2 รวมอยู่ด้วยสำหรับการเล่น Pokémon: Emerald Version บนแฟลชการ์ด
Lordus: jEnesisDS (ใช้สำหรับเปิด Sega Mega Drive/Genesis ROM)
xonn83: jEnesisDS เวอร์ชัน GBMacro
redbug26: CrocoDS (ใช้สำหรับเรียกใช้ Amstrad CPC ROMs)
Ryan FB, Rocket Robz และ xonn83: PicoDriveTWL (ใช้สำหรับการเปิดตัว Sega Mega Drive/Genesis ROM ขนาดใหญ่)
การเคลื่อนที่ของคลื่น: Nintellivision/NINTV-DS (ใช้สำหรับเรียกใช้ Intellivision ROM)
ขาดความเป็นจริง: ไอคอน Intellivision
davi: Border สำหรับธีม GBC (เดิมสำหรับ GameYob)
failed0verflow, Fluto และ Arkhandar: กราฟิก Homebrew Channel/Launcher
FlameKat53: ไอคอนคู่มือสำหรับเมนู SELECT
ของธีม DSi
Mr.Start: หน้าจอสแปลช Super Nintendo DS
PW5190: หน้าจอเริ่มต้น TWLMenu++ ธีม Kirby
spinal_cord: กราฟิก DSi4DS และ DSision2
StarvingArtist: ไอคอนเกมคอนโซล
BlastoiseVeteran: เพลง Nintendo DSi Shop เวอร์ชันรีมาสเตอร์
IkaMusumeYiyaRoxie: ฟอนต์เสียง MIDI ทั่วไป N64 ใช้สำหรับการประโคมชื่อเรื่องในเวอร์ชันเก่า
dbry: รหัสตัวถอดรหัส IMA-ADPCM คุณภาพเยี่ยมจาก adpcm-xq
Firexploit: 3DS UI เสียงสำหรับธีม 3DS ซึ่งบางอันก็ใช้ในธีม DSi ด้วย
ahezard: รหัส NDMA จาก nds-bootstrap
อีกโลกหนึ่งและก็อบลินไม้สีเหลือง: UI akMenu/Wood ดั้งเดิม
Arisotura: รายการ ROM จาก melonDS และรหัส dumper BIOS จาก dsibiosdumper
Dartz150: ให้การแก้ไขสำหรับเกม Iridion II และ Top Gun: Combat Zones GBA
devkitPro: รหัสที่ใช้ใน nds-hb-menu และการใช้ bootloader, 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, สามเหลี่ยมสะกด, LedyBacer: สูตรโกงแบบจอกว้าง
retrogamefan & Rudolph: รวม AP-patches สำหรับ nds-bootstrap
enler: แก้ไข AP-patch สำหรับ Pokemon Black 2 (ญี่ปุ่น) สำหรับความเข้ากันได้ของโหมด DS⁽ⁱ⁾
Rocket Robz: แก้ไข DS⁽ⁱ⁾-แพทช์ AP ของเกมที่ปรับปรุงแล้วสำหรับความเข้ากันได้ของโหมด DS⁽ⁱ⁾
SNBeast: เปิดตัวแพตช์
Taiju Yamada: รหัสที่ใช้เพื่อหลีกเลี่ยงการป้องกันไฟล์บูต R4i-SDHC
ภาษาอาหรับ: เคน บราวน์, SLG3
บัลแกเรีย: Peter0x44, Tescu
คาตาลัน:
จีนตัวย่อ: cai_miao, Chris, Forbidden, James-Makoto, R-YaTian, Yukino Song, 曾中立, 天天地地人人, 百地 希留耶
จีนดั้งเดิม: cai_miao, ccccchoho, James-Makoto, Rintim, 奇诺比奥
เช็ก: Štěpán Dolský
ภาษาเดนมาร์ก: jonata, Michael Millet, Nadia Pedersen
ดัตช์: Arthur, 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, อิอิ, ILke Hür Eyiol, Julian, Kazuto, malekairmaroc7, Michael Brey, Oleh Hatsenko, SkilLP, SuperSaiyajinStackZ, Tcm0, TheDude, TM-47, Uriki
กรีก: Anestis1403
ฮีบรู: บาราเวอร์, ยานิฟ เลวิน
ฮังการี: Viktor Varga, ハトヴジング -- ハット
อินโดนีเซีย: ไซรูซ วิงส์, ฟาริด อีร์วาน, เฮย์ดูตดูต, ชิโอริ
อิตาลี : อเลสซานโดร ตาโวลิเอรี, เลโอนาร์โด้ เลดดา, มัตเทีย, 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
โปรตุเกส (บราซิล): เซซาร์ เมเมเร, เจฟฟ์ ซูซา, เดอะมาสเตอร์ฟ, วิคเตอร์ โคโรนาโด
โปรตุเกส (โปรตุเกส): บรูวีฟน์, คริสโตเฟอร์ โรดริเกซ, แกบซ์ อัลเมดา, จิม, จอยร์ฟ, เลเตกา 1234, โรดริโก ทาวาเรส, ติอาโก ซิลวา, วอดสัน เด อันดราเด, วอดสัน เด อันดราเด, แซค
โรมาเนีย: Tescu
รัสเซีย: Alexey Barsukov, Ckau, manwithnoface, mbhz, MMR Marler, Nikita, Молодая Кукуруза
ริวกิว: คุราเกะฮิเมะ
สเปน: Adrin Ramen, Adrian Rodriguez, Allinxter, beta215, ccccmark, dimateos, Kaede159, KplyAsteroid, mschifino, Nicolás Herrera Concha, Nintendo R, nuxa17, Radiant, 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, вухаста гітара
บาเลนเซีย: tsolo
เวียดนาม: Chử Tiến Bình, daicahuyoi Đỗ Minh Hiếu, hotungkhanh, Trương Hồng Sơn