Compare commits

...

37 Commits
v1.0 ... main

Author SHA1 Message Date
Kei
2cddd7e4ad Fixed Phat Colors INI 2025-06-07 21:25:39 +01:00
Kei
bbf049cc95 Update mainwnd.cpp 2025-06-07 21:03:05 +01:00
Kei
e7f1ade105 Fixed INI issues
Fixed INI settings
Changed how INI files get written
2025-06-07 20:55:39 +01:00
Kei
0129331a0b fixed typo 2025-06-07 15:57:46 +01:00
Kei
a1499897f8 Merge branch 'main' of https://github.com/coderkei/akmenu-next 2025-06-06 19:54:06 +01:00
Kei
1a8decfe14 DS Phat Colors 2025-06-06 19:54:03 +01:00
Kei
cbc1dca08e
Update NdsBootstrapLauncher.cpp 2025-06-03 10:21:38 +01:00
Kei
81f03768e0 Custom Hotkey & Slot 1 Launcher
- Custom Hotkey via ndsbs.ini
- Slot 1 launcher Added
- Dotfiles from MacOS are now hidden
2025-05-30 21:39:00 +01:00
Kei
217e025825 Fix hotkeys
Fix hotkey values
2025-05-12 19:55:23 +01:00
Kei
5202fdb4d8 Menu Hotkey Support
Added menu hotkey support for nds-bootstrap usage
2025-05-11 20:48:17 +01:00
Kei
1a8ca88403 Fix makefile removing ini file 2025-04-27 15:48:21 +01:00
Kei
7a7fe6e0bb Update .gitignore 2025-04-27 00:42:37 +01:00
Kei
c14071457d Rework build steps & small icons
- Rework how the package is built
- Added small icons view mode
- Fixed view mode not being saved
- Reverted DSiWare support (User is notified instead)
- Autoboot files are now part of the repo
- Added option to force DS-Only mode.
- Added new default theme
2025-04-27 00:41:21 +01:00
Kei
a61ad2e07a
Merge pull request #4 from James-Makoto/main
update chinese translation for nds-bs related functions
2025-04-26 18:01:36 +01:00
James-Makoto
690730ca85 update translation for nds-bs related functions 2025-04-26 14:15:23 +08:00
Kei
0f2aac0270
Merge pull request #2 from James-Makoto/main
update zh_Hans and zh_Hant localization
2025-04-25 23:32:09 +01:00
James-Makoto
a2b1a4a677 update zh_Hans and zh_Hant localization 2025-03-26 01:18:46 +08:00
Kei
0ed8c6bf27 Update NdsBootstrapLauncher.cpp
Make it so it can compile for now until dsiware save support is added
2025-02-28 19:45:37 +00:00
Kei
3d3ca0abf7 Start DSiWare Support
- Added DSiWare detection
- Start INI Work for DSiWare. PUB and PRV save creation not added yet.
- Only modify VRAM if running on a flashcart (resolved Giana Sisters DS regression)
- Remove Card DMA configuration to align with nds-bootstrap removing it as a configurable value
- Show a message to the user if using akmenu-next for the first time
2025-02-28 19:34:12 +00:00
Kei
935497e4a0 Add card read DMA
Add card read DMA
2025-01-30 21:41:45 +00:00
Kei
307d11777a nds-bootstrap version switch
nds-bootstrap version switch
- Allow user to switch between release or nightly version in settings (will show an error upon loading a game if the loader is missing)
2025-01-27 18:55:02 +00:00
Kei
30856a9c2a Update README.md 2025-01-25 23:31:06 +00:00
Kei
e682a4252e VRAM Fix, System Dir change and saves folder support
- VRAM Fix in nds-bootloader, should fix garbled graphics in Giana Sisters DS
- System Dir changed from _nds to _nds/akmenunext, this is a breaking change. Its intended so users using TWL++ alongside have less clutter.
- Added support for "saves" folders now. Its a setting that can be toggled.
2025-01-25 23:29:52 +00:00
Kei
e0552ca296 nds-bootstrap-nightly test
nds-bootstrap-nightly test
2025-01-18 21:38:38 +00:00
Kei
ba350c5fd6 Merge branch 'main' of https://github.com/coderkei/akmenu-next 2025-01-18 18:52:17 +00:00
Kei
fdbc7346c3 Remove akloader & ttloader code
Remove akloader & ttloader code
2025-01-18 18:52:12 +00:00
ApacheThunder
41afcabda5 Fix UI bug with save extension setting
* Fix UI mis-representing the current setting of the game save file
extension setting in the save extension settings pane.
2025-01-11 01:31:56 -06:00
Kei
e9f257b9d8
Update README.md 2024-12-29 00:04:44 +00:00
Kei
e5f8629319 More fixes
- Fixed no sound issues on flashcarts running on TWL_FIRM (Not sure why this code was here, it also exists in WoodRPG)
- Fixed theme/language soft reset for DSi & 3DS version
- Removed old build files, these are now integrated into the makefile
2024-12-28 21:41:30 +00:00
Kei
462db3bdc7 Passme & Soft Reset
Changed soft reset location to reduce conflicts with other laucher software

Added PASSME path
2024-12-28 14:46:59 +00:00
ApacheThunder
7f66ae6613 Fix DSi build
* Fix DSI build. Now works correctly on DSi.
* Fixed soft reset into boot.nds. Now works on both DSi and flashcarts.
Also fixed for theme reset.
* Fixed soft reset into GBA mode. Was using libnds's broken swi call.
Replaced with modified version that isn't broken.
* Fixed warnings generated during compile.
* Removed old LD/Specs from arm7 folder. This is needed to allow proper
arm7 entry point for TWL_FIRM compatiblity on 3DS. Didn't seem to break
DS mode copy so a DSi specific build of arm7 make file is not needed at
the moment.
* custom banner added via banner.bin and -t ndstool command.
* Flashcart build now uses -h 0x200 command for better compatiblity with
older homebrew launchers/flashcarts.
2024-12-22 16:28:38 -06:00
Kei
805f9e9674
Merge pull request #1 from ApacheThunder/main
Add 32KB DLDI support.
2024-12-14 22:19:39 +00:00
ApacheThunder
5fc1bfd456 Add 32KB DLDI support.
* dldi_32K.s added. Overrides libnds's version with one that reserves
32KB instead of 16KB.
2024-12-14 16:17:18 -06:00
Kei
aa7dc5e906 Update submodule for 32KB DLDI 2024-12-14 22:16:35 +00:00
Kei
57fdec9579 update submodule 2024-12-14 22:12:36 +00:00
Kei
aef0cf60ef Update .gitmodules 2024-12-14 22:07:46 +00:00
Kei
f775a22fc9 Fixed soft reset for themes 2024-12-14 22:05:29 +00:00
197 changed files with 5355 additions and 3101 deletions

7
.gitignore vendored
View File

@ -1,9 +1,12 @@
build
themes themes
package
data/load.bin data/load.bin
build
temp
.vscode
*.elf *.elf
*.nds *.nds
*.dsi *.dsi
*.pcf *.pcf
*.dldi *.dldi
*.zip
*.cia

6
.gitmodules vendored
View File

@ -1,7 +1,7 @@
[submodule "nds-bootloader"]
path = nds-bootloader
url = https://github.com/devkitPro/nds-bootloader
[submodule "DLDI"] [submodule "DLDI"]
path = DLDI path = DLDI
url = https://github.com/DS-Homebrew/DLDI url = https://github.com/DS-Homebrew/DLDI
branch = builds branch = builds
[submodule "nds-bootloader"]
path = nds-bootloader
url = https://github.com/coderkei/nds-bootloader

10
.vscode/settings.json vendored
View File

@ -47,6 +47,14 @@
"stdexcept": "cpp", "stdexcept": "cpp",
"streambuf": "cpp", "streambuf": "cpp",
"cinttypes": "cpp", "cinttypes": "cpp",
"typeinfo": "cpp" "typeinfo": "cpp",
"charconv": "cpp",
"ctime": "cpp",
"format": "cpp",
"span": "cpp",
"text_encoding": "cpp",
"variant": "cpp",
"nds.h": "c",
"maxmod9.h": "c"
} }
} }

View File

@ -23,13 +23,20 @@ GAME_SUBTITLE2 := github.com/coderkei
include $(DEVKITARM)/ds_rules include $(DEVKITARM)/ds_rules
#.PHONY: checkarm7 checkarm9 checkarm9_ak2 checkarm9_dsi checkarm9_m3 checkarm9_tt clean #.PHONY: checkarm7 checkarm9 checkarm9_ak2 checkarm9_dsi checkarm9_m3 checkarm9_tt clean
.PHONY: checkarm7 checkarm9 checkarm9_dsi clean .PHONY: nds-bootloader checkarm7 checkarm9 checkarm9_dsi clean
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
# main targets # main targets
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
all: checkarm7 checkarm9 checkarm9_dsi \ all: nds-bootloader checkarm7 checkarm9 checkarm9_dsi \
$(TARGET).nds $(TARGET).dsi $(TARGET).nds $(TARGET).dsi
@$(MAKE) organize_files
data:
@mkdir -p data
nds-bootloader: data
$(MAKE) -C nds-bootloader LOADBIN=$(CURDIR)/data/load.bin
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
checkarm7: checkarm7:
@ -46,13 +53,14 @@ checkarm9_dsi:
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(TARGET).nds : $(NITRO_FILES) arm7/$(TARGET).elf arm9/$(TARGET).elf $(TARGET).nds : $(NITRO_FILES) arm7/$(TARGET).elf arm9/$(TARGET).elf
ndstool -c $(TARGET).nds -7 arm7/$(TARGET).elf -9 arm9/$(TARGET).elf \ ndstool -c $(TARGET).nds -7 arm7/$(TARGET).elf -9 arm9/$(TARGET).elf \
-b $(GAME_ICON) "$(GAME_TITLE);$(GAME_SUBTITLE1);$(GAME_SUBTITLE2)" \ -h 0x200 -t banner.bin \
$(_ADDFILES) $(_ADDFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
$(TARGET).dsi : $(NITRO_FILES) arm7/$(TARGET).elf arm9_dsi/$(TARGET).elf $(TARGET).dsi : $(NITRO_FILES) arm7/$(TARGET).elf arm9_dsi/$(TARGET).elf
ndstool -c $@ -7 arm7/$(TARGET).elf -9 arm9_dsi/$(TARGET).elf \ ndstool -c $@ -7 arm7/$(TARGET).elf -9 arm9_dsi/$(TARGET).elf \
-b $(GAME_ICON) "$(GAME_TITLE);$(GAME_SUBTITLE1);$(GAME_SUBTITLE2)" \ -t banner.bin \
-g NEXT 01 "AKMENU" -z 80040407 -u 00030004 -a 00000138 -p 0001 \
$(_ADDFILES) $(_ADDFILES)
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
@ -60,16 +68,36 @@ arm7/$(TARGET).elf:
$(MAKE) -C arm7 $(MAKE) -C arm7
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
arm9/$(TARGET).elf: arm9/$(TARGET).elf: nds-bootloader
$(MAKE) -C arm9 $(MAKE) -C arm9
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
arm9_dsi/$(TARGET).elf: arm9_dsi/$(TARGET).elf:
$(MAKE) -C arm9_dsi $(MAKE) -C arm9_dsi
#---------------------------------------------------------------------------------
organize_files:
@mv -f $(TARGET).nds $(TARGET).dsi package/
cp package/$(TARGET).nds package/_nds/akmenunext/launcher_nds.nds
cp package/$(TARGET).dsi package/_nds/akmenunext/launcher_dsi.nds
cp package/$(TARGET).nds package/boot_nds.nds
cp package/$(TARGET).dsi package/boot_dsi.nds
@$(MAKE) make_cia
rm -f package/$(TARGET).nds package/$(TARGET).dsi
cp -r language package/_nds/akmenunext/
#---------------------------------------------------------------------------------
make_cia:
./tools/make_cia.exe --srl=$(CURDIR)/package/$(TARGET).dsi -o $(CURDIR)/package/$(TARGET).cia
#--------------------------------------------------------------------------------- #---------------------------------------------------------------------------------
clean: clean:
$(MAKE) -C arm9 clean $(MAKE) -C arm9 clean
$(MAKE) -C arm9_dsi clean $(MAKE) -C arm9_dsi clean
$(MAKE) -C nds-bootloader clean
$(MAKE) -C arm7 clean $(MAKE) -C arm7 clean
rm -rf data
rm -f package/*.nds package/*.dsi package/*.cia
rm -f package/_nds/akmenunext/launcher_nds.nds package/_nds/akmenunext/launcher_dsi.nds
rm -f *.nds *.dsi rm -f *.nds *.dsi
rm -rf package/_nds/akmenunext/language

View File

@ -4,13 +4,15 @@ Frontend for nds-bootstrap based upon lifehansolhacker's akmenu4 port [https://g
## Getting Started ## Getting Started
Requires devkitarm to be installed. Build the repository with `build.sh`. Requires devkitarm (pre-calico) to be installed with the `nds-dev` package. Simply build the repository with `make`.
### Configuration ### Configuration
The system directory is `_nds` where the akmenu system files should be placed, along with a copy of nds-bootstrap as `nds-bootstrap-release.nds`. * The system directory is `_nds/akmenunext` where the akmenu system files should be placed, along with a copy of nds-bootstrap in the `_nds` folder as `nds-bootstrap-release.nds`.
For cheats, put a copy of `usrcheat.dat` into the `_nds/cheats` folder. Themes go into `_nds/ui`. * The binary of akmenu-next additionally needs to be in the `_nds/akmenunext` folder as `launcher.nds` for theme & language reboots.
* Cheats should be placed as `usrcheat.dat` into the `_nds/akmenunext/cheats` folder.
* Themes go into `_nds/akmenunext/ui`. Acekard & Wood R4 themes are supported.
## License ## License

View File

@ -28,7 +28,7 @@ CFLAGS := -g -Wall -O3\
$(ARCH) $(INCLUDE) -DARM7 $(ARCH) $(INCLUDE) -DARM7
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH) ASFLAGS := -g $(ARCH)
LDFLAGS = -specs=../ds_arm7_iwram.specs -g $(ARCH) -Wl,--nmagic -Wl,-Map,$(notdir $*).map LDFLAGS = -specs=ds_arm7.specs -g $(ARCH) -Wl,--nmagic -Wl,-Map,$(notdir $*).map
LIBS := -ldswifi7 -lmm7 -lnds7 LIBS := -ldswifi7 -lmm7 -lnds7

View File

@ -1,192 +0,0 @@
/*--------------------------------------------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public License,
v. 2.0. If a copy of the MPL was not distributed with this file, You can
obtain one at https://mozilla.org/MPL/2.0/.
--------------------------------------------------------------------------------*/
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
MEMORY {
rom : ORIGIN = 0x08000000, LENGTH = 32M
iwram : ORIGIN = 0x03800000, LENGTH = 64K
}
__iwram_start = ORIGIN(iwram);
__iwram_top = ORIGIN(iwram)+ LENGTH(iwram);
__sp_irq = __iwram_top - 0x100;
__sp_svc = __sp_irq - 0x100;
__sp_usr = __sp_svc - 0x100;
__irq_flags = 0x04000000 - 8;
__irq_flagsaux = 0x04000000 - 0x40;
__irq_vector = 0x04000000 - 4;
SECTIONS
{
.crt0 :
{
__text_start = . ;
KEEP (*(.crt0))
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.init :
{
KEEP (*(SORT_NONE(.init)))
} >iwram = 0xff
.plt : { *(.plt) } >iwram = 0xff
.text : /* ALIGN (4): */
{
*(.text .stub .text.* .gnu.linkonce.t.*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.glue_7t) *(.glue_7) *(.vfp11_veneer)
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.fini :
{
KEEP (*(.fini))
} >iwram =0xff
__text_end = . ;
.rodata :
{
*(.rodata)
*all.rodata*(*)
*(.roda)
*(.rodata.*)
*(.gnu.linkonce.r*)
SORT(CONSTRUCTORS)
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >iwram
__exidx_start = .;
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >iwram
__exidx_end = .;
/* Ensure the __preinit_array_start label is properly aligned. We
could instead move the label definition inside the section, but
the linker would then create the section even if it turns out to
be empty, which isn't pretty. */
. = ALIGN(32 / 8);
PROVIDE (__preinit_array_start = .);
.preinit_array : { KEEP (*(.preinit_array)) } >iwram = 0xff
PROVIDE (__preinit_array_end = .);
PROVIDE (__init_array_start = .);
.init_array : { KEEP (*(.init_array)) } >iwram = 0xff
PROVIDE (__init_array_end = .);
PROVIDE (__fini_array_start = .);
.fini_array : { KEEP (*(.fini_array)) } >iwram = 0xff
PROVIDE (__fini_array_end = .);
.ctors :
{
/* gcc uses crtbegin.o to find the start of the constructors, so
we make sure it is first. Because this is a wildcard, it
doesn't matter if the user does not actually link against
crtbegin.o; the linker won't look for a file to match a
wildcard. The wildcard also means that it doesn't matter which
directory crtbegin.o is in. */
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.dtors :
{
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.eh_frame :
{
KEEP (*(.eh_frame))
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.gcc_except_table :
{
*(.gcc_except_table)
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
} >iwram = 0xff
.jcr : { KEEP (*(.jcr)) } >iwram = 0
.got : { *(.got.plt) *(.got) } >iwram = 0
.data ALIGN(4) : {
__data_start = ABSOLUTE(.);
*(.data)
*(.data.*)
*(.gnu.linkonce.d*)
CONSTRUCTORS
. = ALIGN(4);
__data_end = ABSOLUTE(.) ;
} >iwram = 0xff
__arm7_end__ = .;
.bss ALIGN(4) :
{
__bss_start = ABSOLUTE(.);
__bss_start__ = ABSOLUTE(.);
*(.dynbss)
*(.gnu.linkonce.b*)
*(.bss*)
*(COMMON)
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
__bss_end__ = ABSOLUTE(.);
__end__ = ABSOLUTE(.);
} >iwram
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
.stack 0x80000 : { _stack = .; *(.stack) }
/* These must appear regardless of . */
}

View File

@ -1,7 +0,0 @@
%include <sync-none.specs>
*link:
+ -T../ds_arm7_iwram.ld%s --no-warn-rwx-segments
*startfile:
ds_arm7_vram_crt0%O%s crti%O%s crtbegin%O%s

15
arm7/source/biosCalls.s Normal file
View File

@ -0,0 +1,15 @@
.TEXT
.ARM
@---------------------------------------------------------------------------------------
.GLOBAL swiSwitchToGBAModeFixed
.func swiSwitchToGBAModeFixed
@---------------------------------------------------------------------------------------
swiSwitchToGBAModeFixed:
mov r2,#0x40
swi 0x1f0000
.endfunc
.end

View File

@ -14,6 +14,7 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
extern void swiSwitchToGBAModeFixed(); // This is broken in libnds since 2008. Not fixed until libnds2 which this project isn't using yet.
void __libnds_exit(int rc) {} void __libnds_exit(int rc) {}
#ifdef __cplusplus #ifdef __cplusplus
} }
@ -106,7 +107,7 @@ static void menuValue32Handler(u32 value, void* data) {
ii = (1 * PM_BACKLIGHT_TOP) | PM_SOUND_AMP; ii = (1 * PM_BACKLIGHT_TOP) | PM_SOUND_AMP;
writePowerManagement(PM_CONTROL_REG, ii); writePowerManagement(PM_CONTROL_REG, ii);
swiChangeSoundBias(0, 0x400); swiChangeSoundBias(0, 0x400);
swiSwitchToGBAMode(); swiSwitchToGBAModeFixed();
} break; } break;
case MENU_MSG_ARM7_REBOOT_TT: case MENU_MSG_ARM7_REBOOT_TT:
prepairResetTT(); prepairResetTT();
@ -141,10 +142,6 @@ static void menuValue32Handler(u32 value, void* data) {
} }
int main() { int main() {
// mute sound
if (2 == getSystem())
writePowerManagement(PM_CONTROL_REG,
(readPowerManagement(PM_CONTROL_REG) & ~PM_SOUND_AMP) | PM_SOUND_MUTE);
// switch on backlight on both screens // switch on backlight on both screens
writePowerManagement(PM_CONTROL_REG, readPowerManagement(PM_CONTROL_REG) | PM_BACKLIGHT_BOTTOM | writePowerManagement(PM_CONTROL_REG, readPowerManagement(PM_CONTROL_REG) | PM_BACKLIGHT_BOTTOM |
PM_BACKLIGHT_TOP); PM_BACKLIGHT_TOP);
@ -154,6 +151,7 @@ int main() {
irqInit(); irqInit();
fifoInit(); fifoInit();
touchInit();
// Start the RTC tracking IRQ // Start the RTC tracking IRQ
initClockIRQ(); initClockIRQ();
@ -166,5 +164,11 @@ int main() {
irqEnable(IRQ_VBLANK | IRQ_NETWORK); irqEnable(IRQ_VBLANK | IRQ_NETWORK);
if (isDSiMode() && REG_SNDEXTCNT != 0) {
i2cWriteRegister(0x4A, 0x12, 0x00); // Press power-button for auto-reset
i2cWriteRegister(0x4A, 0x70, 0x01); // Bootflag = Warmboot/SkipHealthSafety
}
while (true) swiWaitForVBlank(); while (true) swiWaitForVBlank();
} }

View File

@ -27,6 +27,7 @@ GRAPHICS :=
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
CFLAGS := -g -Wall -O3\ CFLAGS := -g -Wall -O3\
-Wno-address-of-packed-member \
$(ARCH) $(INCLUDE) -DARM9 $(ARCH) $(INCLUDE) -DARM9
CFLAGS += -D_NO_BOOTSTUB_ CFLAGS += -D_NO_BOOTSTUB_

100
arm9/source/dldi_32K.s Normal file
View File

@ -0,0 +1,100 @@
/*---------------------------------------------------------------------------------
Copyright (C) 2006 - 2016
Michael Chisholm (Chishm)
Dave Murphy (WinterMute)
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you use
this software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and
must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
---------------------------------------------------------------------------------*/
#include <nds/arm9/dldi_asm.h>
.align 4
.arm
.global _io_dldi_stub
@---------------------------------------------------------------------------------
.equ DLDI_ALLOCATED_SPACE, 32768
_io_dldi_stub:
dldi_start:
@---------------------------------------------------------------------------------
@ Driver patch file standard header -- 16 bytes
.word 0xBF8DA5ED @ Magic number to identify this region
.asciz " Chishm" @ Identifying Magic string (8 bytes with null terminator)
.byte 0x01 @ Version number
.byte DLDI_SIZE_32KB @32KiB @ Log [base-2] of the size of this driver in bytes.
.byte 0x00 @ Sections to fix
.byte DLDI_SIZE_32KB @32KiB @ Log [base-2] of the allocated space in bytes.
@---------------------------------------------------------------------------------
@ Text identifier - can be anything up to 47 chars + terminating null -- 16 bytes
.align 4
.asciz "Default (No interface)"
@---------------------------------------------------------------------------------
@ Offsets to important sections within the data -- 32 bytes
.align 6
.word dldi_start @ data start
.word dldi_end @ data end
.word 0x00000000 @ Interworking glue start -- Needs address fixing
.word 0x00000000 @ Interworking glue end
.word 0x00000000 @ GOT start -- Needs address fixing
.word 0x00000000 @ GOT end
.word 0x00000000 @ bss start -- Needs setting to zero
.word 0x00000000 @ bss end
@---------------------------------------------------------------------------------
@ DISC_INTERFACE data -- 32 bytes
.ascii "DLDI" @ ioType
.word 0x00000000 @ Features
.word _DLDI_startup @
.word _DLDI_isInserted @
.word _DLDI_readSectors @ Function pointers to standard device driver functions
.word _DLDI_writeSectors @
.word _DLDI_clearStatus @
.word _DLDI_shutdown @
@---------------------------------------------------------------------------------
_DLDI_startup:
_DLDI_isInserted:
_DLDI_readSectors:
_DLDI_writeSectors:
_DLDI_clearStatus:
_DLDI_shutdown:
mov r0, #0x00 @ Return false for every function
bx lr
@---------------------------------------------------------------------------------
.align
.pool
dldi_data_end:
@ Pad to end of allocated space
.space DLDI_ALLOCATED_SPACE - (dldi_data_end - dldi_start)
dldi_end:
.end
@---------------------------------------------------------------------------------

View File

@ -47,6 +47,10 @@ bool DSRomInfo::loadDSRomInfo(const std::string& filename, bool loadBanner) {
return false; return false;
} }
if (header.unitCode == 0x03) {
_isDSiWare = ETrue;
}
///////// ROM Header ///////// ///////// ROM Header /////////
u16 crc = swiCRC16(0xFFFF, &header, 0x15E); u16 crc = swiCRC16(0xFFFF, &header, 0x15E);
if (crc != header.headerCRC16) // 锟侥硷拷头 CRC 锟斤拷锟襟诧拷锟斤拷nds锟斤拷戏 if (crc != header.headerCRC16) // 锟侥硷拷头 CRC 锟斤拷锟襟诧拷锟斤拷nds锟斤拷戏
@ -98,7 +102,7 @@ bool DSRomInfo::loadDSRomInfo(const std::string& filename, bool loadBanner) {
return true; return true;
} }
void DSRomInfo::drawDSRomIcon(u8 x, u8 y, GRAPHICS_ENGINE engine) { void DSRomInfo::drawDSRomIcon(u8 x, u8 y, GRAPHICS_ENGINE engine, bool small) {
if (_extIcon >= 0) { if (_extIcon >= 0) {
fileIcons().Draw(_extIcon, x, y, engine); fileIcons().Draw(_extIcon, x, y, engine);
return; return;
@ -115,25 +119,54 @@ void DSRomInfo::drawDSRomIcon(u8 x, u8 y, GRAPHICS_ENGINE engine) {
gdi().maskBlt(icon_bg_bin, x, y, 32, 32, engine); gdi().maskBlt(icon_bg_bin, x, y, 32, 32, engine);
break; break;
} }
for (int tile = 0; tile < 16; ++tile) {
for (int pixel = 0; pixel < 32; ++pixel) { if (small) {
u8 a_byte = _banner.icon[(tile << 5) + pixel]; // Draw 16x16px
for (int tile = 0; tile < 16; ++tile) {
for (int pixel = 0; pixel < 32; ++pixel) {
u8 a_byte = _banner.icon[(tile << 5) + pixel];
// int px = (tile & 3) * 8 + (2 * pixel & 7); int px = ((tile & 3) << 3) + ((pixel << 1) & 7);
// int py = (tile / 4) * 8 + (2 * pixel / 8); int py = ((tile >> 2) << 3) + (pixel >> 2);
int px = ((tile & 3) << 3) + ((pixel << 1) & 7);
int py = ((tile >> 2) << 3) + (pixel >> 2);
u8 idx1 = (a_byte & 0xf0) >> 4; u8 idx1 = (a_byte & 0xf0) >> 4;
if (skiptransparent || 0 != idx1) { u8 idx2 = (a_byte & 0x0f);
gdi().setPenColor(_banner.palette[idx1], engine);
gdi().drawPixel(px + 1 + x, py + y, engine); int small_px = px / 2;
int small_py = py / 2;
if (skiptransparent || 0 != idx1) {
gdi().setPenColor(_banner.palette[idx1], engine);
gdi().drawPixel(small_px + 1 + x, small_py + y, engine);
}
if (skiptransparent || 0 != idx2) {
gdi().setPenColor(_banner.palette[idx2], engine);
gdi().drawPixel(small_px + x, small_py + y, engine);
}
} }
}
} else {
// Draw 32x32px
for (int tile = 0; tile < 16; ++tile) {
for (int pixel = 0; pixel < 32; ++pixel) {
u8 a_byte = _banner.icon[(tile << 5) + pixel];
u8 idx2 = (a_byte & 0x0f); int px = ((tile & 3) << 3) + ((pixel << 1) & 7);
if (skiptransparent || 0 != idx2) { int py = ((tile >> 2) << 3) + (pixel >> 2);
gdi().setPenColor(_banner.palette[idx2], engine);
gdi().drawPixel(px + x, py + y, engine); u8 idx1 = (a_byte & 0xf0) >> 4;
u8 idx2 = (a_byte & 0x0f);
if (skiptransparent || 0 != idx1) {
gdi().setPenColor(_banner.palette[idx1], engine);
gdi().drawPixel(px + 1 + x, py + y, engine);
}
if (skiptransparent || 0 != idx2) {
gdi().setPenColor(_banner.palette[idx2], engine);
gdi().drawPixel(px + x, py + y, engine);
}
} }
} }
} }
@ -204,6 +237,7 @@ bool DSRomInfo::loadGbaRomInfo(const std::string& filename) {
void DSRomInfo::load(void) { void DSRomInfo::load(void) {
if (_isDSRom == EMayBe) loadDSRomInfo(_fileName, true); if (_isDSRom == EMayBe) loadDSRomInfo(_fileName, true);
if (_isGbaRom == EMayBe) loadGbaRomInfo(_fileName); if (_isGbaRom == EMayBe) loadGbaRomInfo(_fileName);
if (_isDSiWare == EMayBe) loadDSRomInfo(_fileName, true);
} }
tNDSBanner& DSRomInfo::banner(void) { tNDSBanner& DSRomInfo::banner(void) {
@ -226,6 +260,11 @@ bool DSRomInfo::isDSRom(void) {
return (_isDSRom == ETrue) ? true : false; return (_isDSRom == ETrue) ? true : false;
} }
bool DSRomInfo::isDSiWare(void) {
load();
return (_isDSiWare == ETrue) ? true : false;
}
bool DSRomInfo::isHomebrew(void) { bool DSRomInfo::isHomebrew(void) {
load(); load();
return (_isHomebrew == ETrue) ? true : false; return (_isHomebrew == ETrue) ? true : false;

View File

@ -22,6 +22,7 @@ class DSRomInfo {
tNDSBanner _banner; tNDSBanner _banner;
SAVE_INFO_EX _saveInfo; SAVE_INFO_EX _saveInfo;
TBool _isDSRom; TBool _isDSRom;
TBool _isDSiWare;
TBool _isHomebrew; TBool _isHomebrew;
TBool _isGbaRom; TBool _isGbaRom;
std::string _fileName; std::string _fileName;
@ -35,14 +36,14 @@ class DSRomInfo {
public: public:
DSRomInfo() DSRomInfo()
: _isDSRom(EFalse), _isHomebrew(EFalse), _isGbaRom(EFalse), _extIcon(-1), _romVersion(0) { : _isDSRom(EFalse), _isDSiWare(EFalse), _isHomebrew(EFalse), _isGbaRom(EFalse), _extIcon(-1), _romVersion(0) {
// memcpy(&_banner,unknown_banner_bin,unknown_banner_bin_size); // memcpy(&_banner,unknown_banner_bin,unknown_banner_bin_size);
memset(&_banner, 0, sizeof(_banner)); memset(&_banner, 0, sizeof(_banner));
memset(&_saveInfo, 0, sizeof(_saveInfo)); memset(&_saveInfo, 0, sizeof(_saveInfo));
} }
public: public:
void drawDSRomIcon(u8 x, u8 y, GRAPHICS_ENGINE engine); void drawDSRomIcon(u8 x, u8 y, GRAPHICS_ENGINE engine, bool small);
void drawDSRomIconMem(void* mem); void drawDSRomIconMem(void* mem);
tNDSBanner& banner(void); tNDSBanner& banner(void);
SAVE_INFO_EX& saveInfo(void); SAVE_INFO_EX& saveInfo(void);
@ -50,12 +51,14 @@ class DSRomInfo {
void setExtIcon(const std::string& aValue); void setExtIcon(const std::string& aValue);
inline bool isExtIcon(void) { return _extIcon >= 0; }; inline bool isExtIcon(void) { return _extIcon >= 0; };
bool isDSRom(void); bool isDSRom(void);
bool isDSiWare(void);
bool isHomebrew(void); bool isHomebrew(void);
bool isGbaRom(void); bool isGbaRom(void);
DSRomInfo& operator=(const DSRomInfo& src); DSRomInfo& operator=(const DSRomInfo& src);
void MayBeDSRom(const std::string& filename) { void MayBeDSRom(const std::string& filename) {
_isDSRom = EMayBe; _isDSRom = EMayBe;
_isHomebrew = EMayBe; _isHomebrew = EMayBe;
_isDSiWare = EMayBe;
_fileName = filename; _fileName = filename;
}; };
void MayBeGbaRom(const std::string& filename) { void MayBeGbaRom(const std::string& filename) {

View File

@ -59,3 +59,4 @@ typedef t_singleton<cExpansion> cExpansion_s;
inline cExpansion& expansion() { inline cExpansion& expansion() {
return cExpansion_s::instance(); return cExpansion_s::instance();
} }

View File

@ -304,7 +304,7 @@ void cGdi::frameRect(s16 x, s16 y, u16 w, u16 h, u16 thickness, GRAPHICS_ENGINE
} }
void cGdi::fillRect(u16 color1, u16 color2, s16 x, s16 y, u16 w, u16 h, GRAPHICS_ENGINE engine) { void cGdi::fillRect(u16 color1, u16 color2, s16 x, s16 y, u16 w, u16 h, GRAPHICS_ENGINE engine) {
ALIGN(4) u16 color[2] = {BIT(15) | color1, BIT(15) | color2}; ALIGN(4) u16 color[2] = { (u16)(BIT(15) | color1), (u16)(BIT(15) | color2) };
u16* pSrc = (u16*)color; u16* pSrc = (u16*)color;
u16* pDest = NULL; u16* pDest = NULL;

View File

@ -19,7 +19,7 @@ cGlobalSettings::cGlobalSettings() {
brightness = 1; brightness = 1;
language = 1; language = 1;
langDirectory = "English"; langDirectory = "English";
uiName = "zelda"; uiName = "blue skies";
startupFolder = "..."; startupFolder = "...";
fileListType = 0; fileListType = 0;
romTrim = 0; romTrim = 0;
@ -38,10 +38,15 @@ cGlobalSettings::cGlobalSettings() {
cheatDB = false; cheatDB = false;
slot2mode = ESlot2Ask; slot2mode = ESlot2Ask;
saveExt = true; saveExt = true;
saveDir = false;
dsOnly = false;
nightly = false;
safeMode = false; safeMode = false;
show12hrClock = false; show12hrClock = false;
autorunWithLastRom = false; autorunWithLastRom = false;
homebrewreset = false; homebrewreset = false;
resetHotKey = 0;
phatCol = false;
#ifndef __KERNEL_LAUNCHER_SUPPORT__ #ifndef __KERNEL_LAUNCHER_SUPPORT__
romLauncher = EKernelLauncher; romLauncher = EKernelLauncher;
#else #else
@ -66,25 +71,34 @@ void cGlobalSettings::loadSettings() {
Animation = ini.GetInt("system", "Animation", Animation); Animation = ini.GetInt("system", "Animation", Animation);
cheats = ini.GetInt("system", "cheats", cheats); cheats = ini.GetInt("system", "cheats", cheats);
softreset = ini.GetInt("system", "softreset", softreset); softreset = ini.GetInt("system", "softreset", softreset);
saveDir = ini.GetInt("system", "savedir", saveDir);
dsOnly = ini.GetInt("system", "dsonly", dsOnly);
nightly = ini.GetInt("system", "nightly", nightly);
dma = ini.GetInt("system", "dma", dma); dma = ini.GetInt("system", "dma", dma);
sdsave = ini.GetInt("system", "sdsave", sdsave); sdsave = ini.GetInt("system", "sdsave", sdsave);
safeMode = ini.GetInt("system", "safemode", safeMode); safeMode = ini.GetInt("system", "safemode", safeMode);
show12hrClock = ini.GetInt("system", "Show12hrClock", show12hrClock); show12hrClock = ini.GetInt("system", "Show12hrClock", show12hrClock);
autorunWithLastRom = ini.GetInt("system", "autorunWithLastRom", autorunWithLastRom); autorunWithLastRom = ini.GetInt("system", "autorunWithLastRom", autorunWithLastRom);
homebrewreset = ini.GetInt("system", "homebrewreset", homebrewreset); homebrewreset = ini.GetInt("system", "homebrewreset", homebrewreset);
resetHotKey = ini.GetInt("system", "resethotkey", resetHotKey);
temp = ini.GetString("system", "scrollSpeed", "fast"); phatCol = ini.GetInt("system", "phatCol", phatCol);
scrollSpeed =
(temp == "slow") ? EScrollSlow : ((temp == "medium") ? EScrollMedium : EScrollFast);
temp = ini.GetString("system", "viewMode", "icon");
viewMode = (temp == "list") ? EViewList : ((temp == "icon") ? EViewIcon : EViewInternal);
temp = ini.GetString("system", "slot2mode", "ask");
slot2mode = (temp == "gba") ? ESlot2Gba : ((temp == "nds") ? ESlot2Nds : ESlot2Ask);
temp = ini.GetString("system", "saveext", ".sav"); temp = ini.GetString("system", "saveext", ".sav");
saveExt = (temp == ".sav"); saveExt = (temp == ".sav");
temp = ini.GetString("system", "scrollSpeed", "fast");
scrollSpeed = (temp == "slow") ? EScrollSlow
: (temp == "medium") ? EScrollMedium
: EScrollFast;
temp = ini.GetString("system", "viewMode", "icon");
viewMode = (temp == "list") ? EViewList
: (temp == "icon") ? EViewIcon
: (temp == "small") ? EViewSmall
: (temp == "internal") ? EViewInternal
: EViewInternal;
temp = ini.GetString("system", "slot2mode", "ask");
slot2mode = (temp == "gba") ? ESlot2Gba
: (temp == "nds") ? ESlot2Nds
: ESlot2Ask;
#ifdef __KERNEL_LAUNCHER_SUPPORT__ #ifdef __KERNEL_LAUNCHER_SUPPORT__
temp = ini.GetString("system", "nds-bootstrap", "false"); temp = ini.GetString("system", "nds-bootstrap", "false");
@ -117,19 +131,36 @@ void cGlobalSettings::saveSettings() {
ini.SetInt("system", "dma", dma); ini.SetInt("system", "dma", dma);
ini.SetInt("system", "sdsave", sdsave); ini.SetInt("system", "sdsave", sdsave);
ini.SetInt("system", "safemode", safeMode); ini.SetInt("system", "safemode", safeMode);
ini.SetInt("system", "savedir", saveDir);
ini.SetInt("system", "nightly", nightly);
ini.SetInt("system", "Show12hrClock", show12hrClock); ini.SetInt("system", "Show12hrClock", show12hrClock);
ini.SetInt("system", "homebrewreset", homebrewreset); ini.SetInt("system", "homebrewreset", homebrewreset);
ini.SetInt("system", "resethotkey", resetHotKey);
ini.SetString("system", "scrollSpeed", ini.SetInt("system", "dsonly", dsOnly);
(scrollSpeed == EScrollSlow) ini.SetInt("system", "phatCol", phatCol);
? "slow"
: ((scrollSpeed == EScrollMedium) ? "medium" : "fast"));
ini.SetString( ini.SetString(
"system", "viewMode", "system", "saveext",
(viewMode == EViewList) ? "list" : ((viewMode == EViewIcon) ? "icon" : "internal")); saveExt ? ".sav"
ini.SetString("system", "slot2mode", : ".nds.sav");
(slot2mode == ESlot2Gba) ? "gba" : ((slot2mode == ESlot2Nds) ? "nds" : "ask")); ini.SetString(
ini.SetString("system", "saveext", saveExt ? ".sav" : ".nds.sav"); "system", "scrollSpeed",
(scrollSpeed == EScrollSlow) ? "slow"
: (scrollSpeed == EScrollMedium) ? "medium"
: (scrollSpeed == EScrollFast) ? "fast"
: "fast");
ini.SetString(
"system", "viewMode",
(viewMode == EViewList) ? "list"
: (viewMode == EViewIcon) ? "icon"
: (viewMode == EViewSmall) ? "small"
: (viewMode == EViewInternal) ? "internal"
: "internal");
ini.SetString(
"system", "slot2mode",
(slot2mode == ESlot2Gba) ? "gba"
: (slot2mode == ESlot2Nds) ? "nds"
: (slot2mode == ESlot2Ask) ? "ask"
: "ask" );
#ifdef __KERNEL_LAUNCHER_SUPPORT__ #ifdef __KERNEL_LAUNCHER_SUPPORT__
ini.SetString("system", "nds-bootstrap", ini.SetString("system", "nds-bootstrap",

View File

@ -17,7 +17,7 @@
class cGlobalSettings { class cGlobalSettings {
public: public:
enum TScrollSpeed { EScrollFast = 4, EScrollMedium = 10, EScrollSlow = 16 }; enum TScrollSpeed { EScrollFast = 4, EScrollMedium = 10, EScrollSlow = 16 };
enum TViewMode { EViewList = 0, EViewIcon = 1, EViewInternal = 2 }; enum TViewMode { EViewList = 0, EViewIcon = 1, EViewInternal = 2, EViewSmall = 3 };
enum TSlot2Mode { ESlot2Ask = 0, ESlot2Gba = 1, ESlot2Nds = 2 }; enum TSlot2Mode { ESlot2Ask = 0, ESlot2Gba = 1, ESlot2Nds = 2 };
enum TROMLauncher { EKernelLauncher = 0, ENdsBootstrapLauncher = 1 }; enum TROMLauncher { EKernelLauncher = 0, ENdsBootstrapLauncher = 1 };
@ -43,26 +43,31 @@ class cGlobalSettings {
std::string langDirectory; std::string langDirectory;
std::string uiName; std::string uiName;
std::string startupFolder; std::string startupFolder;
int resetHotKey;
int scrollSpeed;
int romLauncher;
int viewMode;
int slot2mode;
bool showHiddenFiles; bool showHiddenFiles;
bool enterLastDirWhenBoot; bool enterLastDirWhenBoot;
int scrollSpeed;
bool showGbaRoms; bool showGbaRoms;
int viewMode;
bool gbaSleepHack; bool gbaSleepHack;
bool gbaAutoSave; bool gbaAutoSave;
bool Animation; bool Animation;
bool cheats; bool cheats;
bool softreset; bool softreset;
bool dma;
bool sdsave; bool sdsave;
bool cheatDB; bool cheatDB;
int slot2mode;
bool saveExt; bool saveExt;
bool saveDir;
bool nightly;
bool dma;
bool safeMode; bool safeMode;
bool show12hrClock; bool show12hrClock;
bool autorunWithLastRom; bool autorunWithLastRom;
bool homebrewreset; bool homebrewreset;
int romLauncher; bool dsOnly;
bool phatCol;
}; };
typedef t_singleton<cGlobalSettings> globalSettings_s; typedef t_singleton<cGlobalSettings> globalSettings_s;

View File

@ -190,29 +190,30 @@ bool CIniFile::SaveIniFileModified(const std::string& FileName) {
bool CIniFile::SaveIniFile(const std::string& FileName) { bool CIniFile::SaveIniFile(const std::string& FileName) {
if (FileName != "") m_sFileName = FileName; if (FileName != "") m_sFileName = FileName;
FILE* f = fopen(m_sFileName.c_str(), "wb"); FILE* f = fopen(m_sFileName.c_str(), "w");
if (NULL == f) { if (f == NULL) {
return false; return false;
} }
for (size_t ii = 0; ii < m_FileContainer.size(); ii++) { for (size_t ii = 0; ii < m_FileContainer.size(); ii++) {
std::string& strline = m_FileContainer[ii]; std::string& strline = m_FileContainer[ii];
size_t notSpace = strline.find_first_not_of(' '); size_t notSpace = strline.find_first_not_of(' ');
strline = strline.substr(notSpace); if (notSpace != std::string::npos) {
if (strline.find('[') == 0 && ii > 0) { strline = strline.substr(notSpace);
if (!m_FileContainer[ii - 1].empty() && m_FileContainer[ii - 1] != "")
fwrite("\r\n", 1, 2, f);
} }
if (!strline.empty() && strline != "") {
fwrite(strline.c_str(), 1, strline.length(), f); if (strline.find('[') == 0 && ii > 0) {
fwrite("\r\n", 1, 2, f); if (!m_FileContainer[ii - 1].empty())
fprintf(f, "\n");
}
if (!strline.empty()) {
fprintf(f, "%s\n", strline.c_str());
} }
} }
fclose(f); fclose(f);
m_bModified = false; m_bModified = false;
return true; return true;
} }

View File

@ -8,6 +8,7 @@
#include <string> #include <string>
#include <vector> #include <vector>
#include "flags.h"
#include "HomebrewLauncher.h" #include "HomebrewLauncher.h"
#include "ILauncher.h" #include "ILauncher.h"
#include "nds_loader_arm9.h" #include "nds_loader_arm9.h"

View File

@ -14,6 +14,14 @@ static inline void printLoaderNotFound(std::string loaderPath) {
akui::messageBox(NULL, LANG("loader", "not found"), loaderPath, MB_OK); akui::messageBox(NULL, LANG("loader", "not found"), loaderPath, MB_OK);
} }
static inline void printMessage(std::string infoMsg) {
akui::messageBox(NULL, LANG("loader", "info"), infoMsg, MB_OK);
}
static inline void printError(std::string errorMsg) {
akui::messageBox(NULL, LANG("loader", "error"), errorMsg, MB_OK);
}
class ILauncher { class ILauncher {
public: public:
virtual ~ILauncher() {} virtual ~ILauncher() {}

View File

@ -1,5 +1,6 @@
/* /*
Copyright (C) 2024 lifehackerhansol Copyright (C) 2024 lifehackerhansol
Additional modifications Copyright (C) 2025 coderkei
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
*/ */
@ -10,6 +11,7 @@
#include <cstring> #include <cstring>
#include <string> #include <string>
#include <vector> #include <vector>
#include <fat.h>
#include <nds/ndstypes.h> #include <nds/ndstypes.h>
@ -67,24 +69,139 @@ cheat_failed:
bool NdsBootstrapLauncher::prepareIni() { bool NdsBootstrapLauncher::prepareIni() {
CIniFile ini; CIniFile ini;
hotkeyCheck = false;
ini.SetString("NDS-BOOTSTRAP", "NDS_PATH", mRomPath); ini.SetString("NDS-BOOTSTRAP", "NDS_PATH", mRomPath);
ini.SetString("NDS-BOOTSTRAP", "SAV_PATH", mSavePath); ini.SetString("NDS-BOOTSTRAP", "SAV_PATH", mSavePath);
#ifdef __DSIMODE__
const char* custIniPath = "sd:/_nds/akmenunext/ndsbs.ini";
#else
const char* custIniPath = "fat:/_nds/akmenunext/ndsbs.ini";
#endif
if(access(custIniPath, F_OK) != 0){
akui::messageBox(NULL, LANG("nds bootstrap", "inimissingtitle"), LANG("nds bootstrap", "inimissing"), MB_OK);
return false;
}
std::string externalHotkey;
{
CIniFile extIni;
if (extIni.LoadIniFile(custIniPath)) {
externalHotkey = extIni.GetString("ndsbs", "hotkey", "");
if (!externalHotkey.empty()) {
hotkeyCheck = true;
} else {
hotkeyCheck = false;
}
} else {
akui::messageBox(NULL, LANG("nds bootstrap", "inimissingtitle"), LANG("nds bootstrap", "inimissing"), MB_OK);
}
}
/*
0 = l--select : 200 80 4
1 = l-r-start : 200 100 8
2 = l-r-select : 200 100 4
3 = l-r-a-b- : 200 100 1 2 80
4 = l-r-b-y- : 200 100 2 800 80
5 = l-r-a-b-x-y : 200 100 1 2 400 800
*/
switch(gs().resetHotKey)
{
case 0:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "284");
break;
case 1:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "308");
break;
case 2:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "304");
break;
case 3:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "383");
break;
case 4:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "B82");
break;
case 5:
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", "F03");
break;
case 6:
if(hotkeyCheck){
ini.SetString("NDS-BOOTSTRAP", "HOTKEY", externalHotkey.c_str());
}
break;
default:
break;
}
if(gs().dsOnly) {
ini.SetString("NDS-BOOTSTRAP", "DSI_MODE", "0");
}
if(gs().phatCol) {
#ifdef __DSIMODE__
ini.SetString("NDS-BOOTSTRAP", "PHAT_COLORS", "1");
#endif
}
if (access("/_nds/debug.txt", F_OK) == 0) {
ini.SetString("NDS-BOOTSTRAP", "LOGGING", "1");
ini.SetString("NDS-BOOTSTRAP", "DEBUG", "1");
}
ini.SaveIniFile("/_nds/nds-bootstrap.ini"); ini.SaveIniFile("/_nds/nds-bootstrap.ini");
return true; return true;
} }
bool NdsBootstrapLauncher::launchRom(std::string romPath, std::string savePath, u32 flags, bool NdsBootstrapLauncher::launchRom(std::string romPath, std::string savePath, u32 flags,
u32 cheatOffset, u32 cheatSize) { u32 cheatOffset, u32 cheatSize) {
const char ndsBootstrapPath[] = SD_ROOT_0 "/_nds/nds-bootstrap-release.nds"; const char ndsBootstrapPath[] = SD_ROOT_0 "/_nds/nds-bootstrap-release.nds";
const char ndsBootstrapPathNightly[] = SD_ROOT_0 "/_nds/nds-bootstrap-nightly.nds";
const char ndsBootstrapCheck[] = SD_ROOT_0 "/_nds/pagefile.sys";
bool useNightly = false;
//has the user used nds-bootstrap before?
if(access(ndsBootstrapCheck, F_OK) != 0){
akui::messageBox(NULL, LANG("nds bootstrap", "firsttimetitle"), LANG("nds bootstrap", "firsttime"), MB_OK);
}
_romInfo.MayBeDSRom(romPath);
bool dsiWare = _romInfo.isDSiWare();
// check for DSiWare
if(dsiWare){
printError("Unsupported application. DSiWare is not supported.");
return false;
}
progressWnd().setTipText("Initializing nds-bootstrap..."); progressWnd().setTipText("Initializing nds-bootstrap...");
progressWnd().show(); progressWnd().show();
progressWnd().setPercent(0); progressWnd().setPercent(0);
if (access(ndsBootstrapPath, F_OK) != 0) { //Check which nds-bootstrap version has been selected
progressWnd().hide(); if(gs().nightly){
printLoaderNotFound(ndsBootstrapPath); if(access(ndsBootstrapPathNightly, F_OK) != 0){
return false; progressWnd().hide();
printLoaderNotFound(ndsBootstrapPathNightly);
return false;
}
else{
useNightly = true;
}
}
else{
if(access(ndsBootstrapPath, F_OK) != 0){
progressWnd().hide();
printLoaderNotFound(ndsBootstrapPath);
return false;
}
else{
useNightly = false;
}
} }
std::vector<const char*> argv; std::vector<const char*> argv;
@ -99,8 +216,13 @@ bool NdsBootstrapLauncher::launchRom(std::string romPath, std::string savePath,
} }
progressWnd().setPercent(25); progressWnd().setPercent(25);
// Setup argv to launch nds-bootstrap // Setup argv to launch nds-bootstrap
argv.push_back(ndsBootstrapPath); if(!useNightly){
argv.push_back(ndsBootstrapPath);
}
else{
argv.push_back(ndsBootstrapPathNightly);
}
progressWnd().setTipText("Loading usrcheat.dat..."); progressWnd().setTipText("Loading usrcheat.dat...");
progressWnd().setPercent(50); progressWnd().setPercent(50);
@ -113,13 +235,17 @@ bool NdsBootstrapLauncher::launchRom(std::string romPath, std::string savePath,
progressWnd().setTipText("Initializing nds-bootstrap..."); progressWnd().setTipText("Initializing nds-bootstrap...");
progressWnd().setPercent(75); progressWnd().setPercent(75);
//Clean up old INI
if (access("/_nds/nds-bootstrap/nds-bootstrap.ini", F_OK) == 0) {
remove("/_nds/nds-bootstrap/nds-bootstrap.ini");
}
// Setup nds-bootstrap INI parameters // Setup nds-bootstrap INI parameters
if (!prepareIni()) return false; if (!prepareIni()) return false;
progressWnd().setPercent(100); progressWnd().setPercent(100);
// Launch // Launch
eRunNdsRetCode rc = runNdsFile(argv[0], argv.size(), &argv[0]); eRunNdsRetCode rc = runNdsFile(argv[0], argv.size(), &argv[0]);
progressWnd().hide();
if (rc == RUN_NDS_OK) return true; if (rc == RUN_NDS_OK) return true;
return false; return false;

View File

@ -19,7 +19,9 @@ class NdsBootstrapLauncher : public ILauncher {
private: private:
bool prepareCheats(void); bool prepareCheats(void);
bool prepareIni(void); bool prepareIni(void);
bool hotkeyCheck;
std::string mRomPath; std::string mRomPath;
std::string mSavePath; std::string mSavePath;
u32 mFlags; u32 mFlags;
DSRomInfo _romInfo;
}; };

View File

@ -14,7 +14,7 @@
bool PassMeLauncher::launchRom(std::string romPath, std::string savePath, u32 flags, bool PassMeLauncher::launchRom(std::string romPath, std::string savePath, u32 flags,
u32 cheatOffset, u32 cheatSize) { u32 cheatOffset, u32 cheatSize) {
const char passMeLoaderPath[] = "fat:/__rpg/PassMeLoader.nds"; const char passMeLoaderPath[] = "fat:/_nds/akmenunext/PassMeLoader.nds";
if (access(passMeLoaderPath, F_OK) != 0) { if (access(passMeLoaderPath, F_OK) != 0) {
printLoaderNotFound(passMeLoaderPath); printLoaderNotFound(passMeLoaderPath);

View File

@ -0,0 +1,34 @@
/*
Copyright (C) 2024 lifehackerhansol
SPDX-License-Identifier: GPL-3.0-or-later
*/
#include <nds/ndstypes.h>
#include <string>
#include <vector>
#include "ILauncher.h"
#include "Slot1Launcher.h"
#include "nds_loader_arm9.h"
bool Slot1Launcher::launchRom(std::string romPath, std::string savePath, u32 flags,
u32 cheatOffset, u32 cheatSize) {
#ifdef __DSIMODE__
const char slot1LoaderPath[] = "sd:/_nds/akmenunext/slot1launch.nds";
#else
const char slot1LoaderPath[] = "fat:/_nds/akmenunext/slot1launch.nds";
#endif
if (access(slot1LoaderPath, F_OK) != 0) {
printLoaderNotFound(slot1LoaderPath);
return false;
}
std::vector<const char*> argv;
argv.push_back(slot1LoaderPath);
eRunNdsRetCode rc = runNdsFile(argv[0], argv.size(), &argv[0]);
if (rc == RUN_NDS_OK) return true;
return false;
}

View File

@ -0,0 +1,17 @@
/*
Copyright (C) 2024 lifehackerhansol
SPDX-License-Identifier: GPL-3.0-or-later
*/
#pragma once
#include <string>
#include "ILauncher.h"
class Slot1Launcher : public ILauncher {
public:
bool launchRom(std::string romPath, std::string savePath, u32 flags, u32 cheatOffset,
u32 cheatSize) override;
};

View File

@ -281,6 +281,14 @@ eRunNdsRetCode runNds (const void* loader, u32 loaderSize, u32 cluster, bool ini
// Direct CPU access to VRAM bank C // Direct CPU access to VRAM bank C
VRAM_C_CR = VRAM_ENABLE | VRAM_C_LCD; VRAM_C_CR = VRAM_ENABLE | VRAM_C_LCD;
//Fix VRAM because for some reason some homebrew screws up without it
#ifdef __DSIMODE__
//do nothing because this breaks on DSi/3DS mode
#else
memset (LCDC_BANK_C, 0x00, 128 * 1024);
#endif
// Load the loader/patcher into the correct address // Load the loader/patcher into the correct address
vramcpy (LCDC_BANK_C, loader, loaderSize); vramcpy (LCDC_BANK_C, loader, loaderSize);

View File

@ -34,10 +34,11 @@ using namespace akui;
cMainList::cMainList(s32 x, s32 y, u32 w, u32 h, cWindow* parent, const std::string& text) cMainList::cMainList(s32 x, s32 y, u32 w, u32 h, cWindow* parent, const std::string& text)
: cListView(x, y, w, h, parent, text), : cListView(x, y, w, h, parent, text),
_showAllFiles(false), _showAllFiles(false),
_topCount(3), _topCount(4),
_topuSD(0), _topuSD(0),
_topSlot2(1), _topSlot1(1),
_topFavorites(2) { _topSlot2(2),
_topFavorites(3) {
_viewMode = VM_LIST; _viewMode = VM_LIST;
_activeIconScale = 1; _activeIconScale = 1;
_activeIcon.hide(); _activeIcon.hide();
@ -50,8 +51,9 @@ cMainList::cMainList(s32 x, s32 y, u32 w, u32 h, cWindow* parent, const std::str
u32 system = fifoGetValue32(FIFO_USER_02); u32 system = fifoGetValue32(FIFO_USER_02);
if (2 == system) // dsi if (2 == system) // dsi
{ {
_topCount = 2; _topCount = 3;
_topSlot2 = 2; _topSlot2 = 3;
_topSlot1 = 2;
_topFavorites = 1; _topFavorites = 1;
} }
} }
@ -122,6 +124,11 @@ bool cMainList::enterDir(const std::string& dirName) {
a_row.push_back(""); a_row.push_back("");
a_row.push_back(SD_ROOT); a_row.push_back(SD_ROOT);
rominfo.setBanner("usd", microsd_banner_bin); rominfo.setBanner("usd", microsd_banner_bin);
} else if (_topSlot1 == i) {
a_row.push_back(LANG("mainlist", "slot1 card"));
a_row.push_back("");
a_row.push_back("slot1:/");
rominfo.setBanner("slot1", nand_banner_bin);
} else if (_topSlot2 == i) { } else if (_topSlot2 == i) {
a_row.push_back(LANG("mainlist", "slot2 card")); a_row.push_back(LANG("mainlist", "slot2 card"));
a_row.push_back(""); a_row.push_back("");
@ -147,6 +154,12 @@ bool cMainList::enterDir(const std::string& dirName) {
return true; return true;
} }
if ("slot1:/" == dirName) {
_currentDir = "";
directoryChanged();
return true;
}
bool favorites = ("favorites:/" == dirName); bool favorites = ("favorites:/" == dirName);
DIR* dir = NULL; DIR* dir = NULL;
struct dirent* entry; struct dirent* entry;
@ -211,6 +224,11 @@ bool cMainList::enterDir(const std::string& dirName) {
while ((entry = readdir(dir)) != NULL) { while ((entry = readdir(dir)) != NULL) {
std::string lfn(entry->d_name); std::string lfn(entry->d_name);
// Don't show MacOS dotfiles
if (!gs().showHiddenFiles && lfn[0] == '.') {
continue;
}
// entry->d_type == DT_DIR indicates a directory // entry->d_type == DT_DIR indicates a directory
size_t lastDotPos = lfn.find_last_of('.'); size_t lastDotPos = lfn.find_last_of('.');
if (lfn.npos != lastDotPos) if (lfn.npos != lastDotPos)
@ -378,7 +396,24 @@ void cMainList::draw() {
void cMainList::drawIcons() // 直接画家算法画 icons void cMainList::drawIcons() // 直接画家算法画 icons
{ {
if (VM_LIST != _viewMode) { if (VM_LIST_ICON == _viewMode){
size_t total = _visibleRowCount;
if (total > _rows.size() - _firstVisibleRowId) total = _rows.size() - _firstVisibleRowId;
for (size_t i = 0; i < total; ++i) {
// 这里图像呈现比真正的 MAIN buffer 翻转要早,所以会闪一下
// 解决方法是在 gdi().present 里边统一呈现翻转
if (_firstVisibleRowId + i == _selectedRowId) {
if (_activeIcon.visible()) {
continue;
}
}
s32 itemX = _position.x + 1;
s32 itemY = _position.y + i * _rowHeight + ((_rowHeight - 16) >> 1) - 1;
_romInfoList[_firstVisibleRowId + i].drawDSRomIcon(itemX, itemY, _engine, true);
}
}
else if (VM_LIST != _viewMode) {
size_t total = _visibleRowCount; size_t total = _visibleRowCount;
if (total > _rows.size() - _firstVisibleRowId) total = _rows.size() - _firstVisibleRowId; if (total > _rows.size() - _firstVisibleRowId) total = _rows.size() - _firstVisibleRowId;
@ -392,7 +427,7 @@ void cMainList::drawIcons() // 直接画家算法画 icons
} }
s32 itemX = _position.x + 1; s32 itemX = _position.x + 1;
s32 itemY = _position.y + i * _rowHeight + ((_rowHeight - 32) >> 1) - 1; s32 itemY = _position.y + i * _rowHeight + ((_rowHeight - 32) >> 1) - 1;
_romInfoList[_firstVisibleRowId + i].drawDSRomIcon(itemX, itemY, _engine); _romInfoList[_firstVisibleRowId + i].drawDSRomIcon(itemX, itemY, _engine, false);
} }
} }
} }
@ -408,6 +443,13 @@ void cMainList::setViewMode(VIEW_MODE mode) {
arangeColumnsSize(); arangeColumnsSize();
setRowHeight(15); setRowHeight(15);
break; break;
case VM_LIST_ICON:
_columns[ICON_COLUMN].width = 18;
_columns[SHOWNAME_COLUMN].width = 250;
_columns[INTERNALNAME_COLUMN].width = 0;
arangeColumnsSize();
setRowHeight(15);
break;
case VM_ICON: case VM_ICON:
_columns[ICON_COLUMN].width = 36; _columns[ICON_COLUMN].width = 36;
_columns[SHOWNAME_COLUMN].width = 214; _columns[SHOWNAME_COLUMN].width = 214;
@ -433,7 +475,11 @@ void cMainList::updateActiveIcon(bool updateContent) {
// do not show active icon when hold key to list files. Otherwise the icon will not show // do not show active icon when hold key to list files. Otherwise the icon will not show
// correctly. // correctly.
if (getInputIdleMs() > 1000 && VM_LIST != _viewMode && allowAnimation && _romInfoList.size() && if (VM_LIST_ICON == _viewMode){
_activeIcon.hide();
cwl();
}
else if (getInputIdleMs() > 1000 && VM_LIST != _viewMode && allowAnimation && _romInfoList.size() &&
0 == temp.keysHeld && gs().Animation) { 0 == temp.keysHeld && gs().Animation) {
if (!_activeIcon.visible()) { if (!_activeIcon.visible()) {
u8 backBuffer[32 * 32 * 2]; u8 backBuffer[32 * 32 * 2];

View File

@ -27,7 +27,7 @@
// 显示游戏列表,文件列表等等 // 显示游戏列表,文件列表等等
class cMainList : public akui::cListView { class cMainList : public akui::cListView {
public: public:
enum VIEW_MODE { VM_LIST = 0, VM_ICON, VM_INTERNAL }; enum VIEW_MODE { VM_LIST = 0, VM_ICON, VM_INTERNAL, VM_LIST_ICON };
enum // COLUMN_LIST enum // COLUMN_LIST
{ {
@ -120,9 +120,11 @@ class cMainList : public akui::cListView {
protected: protected:
u32 _topCount; u32 _topCount;
u32 _topuSD; u32 _topuSD;
u32 _topSlot1;
u32 _topSlot2; u32 _topSlot2;
u32 _topFavorites; u32 _topFavorites;
public: public:
u32 Slot1(void) { return _topSlot1; }
u32 Slot2(void) { return _topSlot2; } u32 Slot2(void) { return _topSlot2; }
}; };

View File

@ -35,6 +35,7 @@
#include "launcher/HomebrewLauncher.h" #include "launcher/HomebrewLauncher.h"
#include "launcher/NdsBootstrapLauncher.h" #include "launcher/NdsBootstrapLauncher.h"
#include "launcher/PassMeLauncher.h" #include "launcher/PassMeLauncher.h"
#include "launcher/Slot1Launcher.h"
using namespace akui; using namespace akui;
@ -323,7 +324,7 @@ bool cMainWnd::processKeyMessage(const cKeyMessage& msg) {
} else { } else {
if (allow) if (allow)
_mainList->setViewMode( _mainList->setViewMode(
(cMainList::VIEW_MODE)((_mainList->getViewMode() + 1) % 3)); (cMainList::VIEW_MODE)((_mainList->getViewMode() + 1) % 4));
} }
ret = true; ret = true;
break; break;
@ -381,6 +382,11 @@ void cMainWnd::onKeyAPressed() {
void cMainWnd::launchSelected() { void cMainWnd::launchSelected() {
std::string fullPath = _mainList->getSelectedFullPath(); std::string fullPath = _mainList->getSelectedFullPath();
std::string romName = _mainList->getSelectedShowName(); std::string romName = _mainList->getSelectedShowName();
size_t lastSlashPos = fullPath.find_last_of("/\\");
std::string directory = fullPath.substr(0, lastSlashPos + 1);
// Create the new path by appending "saves/"
std::string savesPath = directory + "saves/" + romName;
if (fullPath[fullPath.size() - 1] == '/') { if (fullPath[fullPath.size() - 1] == '/') {
_mainList->enterDir(fullPath); _mainList->enterDir(fullPath);
@ -408,7 +414,7 @@ void cMainWnd::launchSelected() {
progressWnd().show(); progressWnd().show();
progressWnd().setPercent(0); progressWnd().setPercent(0);
switch (launchRom(fullPath, rominfo, switch (launchRom(fullPath, rominfo,
rominfo.isHomebrew() && "BOOT.NDS" == _mainList->getSelectedShowName())) { rominfo.isHomebrew() && "BOOT.NDS" == _mainList->getSelectedShowName(), savesPath)) {
case ELaunchNoFreeSpace: case ELaunchNoFreeSpace:
title = LANG("no free space", "title"); title = LANG("no free space", "title");
text = LANG("no free space", "text"); text = LANG("no free space", "text");
@ -484,10 +490,16 @@ void cMainWnd::setParam(void) {
} }
settingWnd.addSettingItem(LANG("filelist type", "text"), _values, gs().fileListType); settingWnd.addSettingItem(LANG("filelist type", "text"), _values, gs().fileListType);
// reset hotkey
_values.clear(); _values.clear();
_values.push_back(LANG("switches", "Disable")); _values.push_back(LANG("resethotkey", "0"));
_values.push_back(LANG("switches", "Enable")); _values.push_back(LANG("resethotkey", "1"));
settingWnd.addSettingItem(LANG("system setting", "safe mode"), _values, gs().safeMode); _values.push_back(LANG("resethotkey", "2"));
_values.push_back(LANG("resethotkey", "3"));
_values.push_back(LANG("resethotkey", "4"));
_values.push_back(LANG("resethotkey", "5"));
_values.push_back(LANG("resethotkey", "6"));
settingWnd.addSettingItem(LANG("resethotkey", "text"), _values, gs().resetHotKey);
// page 2: interface // page 2: interface
settingWnd.addSettingTab(LANG("interface settings", "title")); settingWnd.addSettingTab(LANG("interface settings", "title"));
@ -512,6 +524,7 @@ void cMainWnd::setParam(void) {
_values.push_back(LANG("interface settings", "oldschool")); _values.push_back(LANG("interface settings", "oldschool"));
_values.push_back(LANG("interface settings", "modern")); _values.push_back(LANG("interface settings", "modern"));
_values.push_back(LANG("interface settings", "internal")); _values.push_back(LANG("interface settings", "internal"));
_values.push_back(LANG("interface settings", "small"));
settingWnd.addSettingItem(LANG("interface settings", "filelist style"), _values, gs().viewMode); settingWnd.addSettingItem(LANG("interface settings", "filelist style"), _values, gs().viewMode);
_values.clear(); _values.clear();
_values.push_back(LANG("switches", "Disable")); _values.push_back(LANG("switches", "Disable"));
@ -524,22 +537,32 @@ void cMainWnd::setParam(void) {
_values.clear(); _values.clear();
_values.push_back(LANG("switches", "Disable")); _values.push_back(LANG("switches", "Disable"));
_values.push_back(LANG("switches", "Enable")); _values.push_back(LANG("switches", "Enable"));
settingWnd.addSettingItem(LANG("file settings", "show hidden files"), _values, settingWnd.addSettingItem(LANG("file settings", "show hidden files"), _values, gs().showHiddenFiles);
gs().showHiddenFiles);
settingWnd.addSettingItem(LANG("rom trim", "text"), _values, gs().romTrim);
_values.clear(); _values.clear();
_values.push_back(".sav");
_values.push_back(".nds.sav"); _values.push_back(".nds.sav");
_values.push_back(".sav");
settingWnd.addSettingItem(LANG("file settings", "save extension"), _values, gs().saveExt); settingWnd.addSettingItem(LANG("file settings", "save extension"), _values, gs().saveExt);
_values.clear();
_values.push_back("no");
_values.push_back("yes");
settingWnd.addSettingItem(LANG("file settings", "use saves folder"), _values, gs().saveDir);
// page 4: patches // page 4: ndsbs
settingWnd.addSettingTab(LANG("setting window", "patches")); settingWnd.addSettingTab(LANG("setting window", "patches"));
_values.clear(); _values.clear();
_values.push_back(LANG("switches", "Disable")); _values.push_back("disable");
_values.push_back(LANG("switches", "Enable")); _values.push_back("enable");
settingWnd.addSettingItem(LANG("patches", "cheating system"), _values, gs().cheats); settingWnd.addSettingItem(LANG("nds bootstrap", "dsmode"), _values, gs().dsOnly);
settingWnd.addSettingItem(LANG("patches", "reset in game"), _values, gs().softreset); _values.clear();
settingWnd.addSettingItem(LANG("patches", "homebrew reset"), _values, gs().homebrewreset); _values.push_back("release");
_values.push_back("nightly");
settingWnd.addSettingItem(LANG("nds bootstrap", "text"), _values, gs().nightly);
#ifdef __DSIMODE__
_values.clear();
_values.push_back("disable");
_values.push_back("enable");
settingWnd.addSettingItem(LANG("nds bootstrap", "phatCol"), _values, gs().phatCol);
#endif
#ifdef __KERNEL_LAUNCHER_SUPPORT__ #ifdef __KERNEL_LAUNCHER_SUPPORT__
_values.clear(); _values.clear();
_values.push_back("Kernel"); _values.push_back("Kernel");
@ -547,13 +570,12 @@ void cMainWnd::setParam(void) {
settingWnd.addSettingItem(LANG("loader", "text"), _values, gs().romLauncher); settingWnd.addSettingItem(LANG("loader", "text"), _values, gs().romLauncher);
#endif #endif
// page 5: gba // page 5: other
settingWnd.addSettingTab(LANG("gba settings", "title")); settingWnd.addSettingTab(LANG("gba settings", "title"));
_values.clear(); _values.clear();
_values.push_back(LANG("switches", "Disable")); _values.push_back(LANG("switches", "Disable"));
_values.push_back(LANG("switches", "Enable")); _values.push_back(LANG("switches", "Enable"));
settingWnd.addSettingItem(LANG("gba settings", "sleephack"), _values, gs().gbaSleepHack); settingWnd.addSettingItem(LANG("patches", "cheating system"), _values, gs().cheats);
settingWnd.addSettingItem(LANG("gba settings", "autosave"), _values, gs().gbaAutoSave);
_values.clear(); _values.clear();
_values.push_back(LANG("gba settings", "modeask")); _values.push_back(LANG("gba settings", "modeask"));
_values.push_back(LANG("gba settings", "modegba")); _values.push_back(LANG("gba settings", "modegba"));
@ -567,7 +589,7 @@ void cMainWnd::setParam(void) {
u32 uiIndexAfter = settingWnd.getItemSelection(0, 0); u32 uiIndexAfter = settingWnd.getItemSelection(0, 0);
u32 langIndexAfter = settingWnd.getItemSelection(0, 1); u32 langIndexAfter = settingWnd.getItemSelection(0, 1);
gs().fileListType = settingWnd.getItemSelection(0, 2); gs().fileListType = settingWnd.getItemSelection(0, 2);
gs().safeMode = settingWnd.getItemSelection(0, 3); gs().resetHotKey = settingWnd.getItemSelection(0, 3);
// page 2: interface // page 2: interface
switch (settingWnd.getItemSelection(1, 0)) { switch (settingWnd.getItemSelection(1, 0)) {
@ -587,19 +609,17 @@ void cMainWnd::setParam(void) {
// page 3: filesystem // page 3: filesystem
gs().showHiddenFiles = settingWnd.getItemSelection(2, 0); gs().showHiddenFiles = settingWnd.getItemSelection(2, 0);
gs().romTrim = settingWnd.getItemSelection(2, 1); gs().saveExt = settingWnd.getItemSelection(2, 1);
gs().saveExt = settingWnd.getItemSelection(2, 2); gs().saveDir = settingWnd.getItemSelection(2, 2);
// page 4: patches // page 4: ndsbs
gs().cheats = settingWnd.getItemSelection(3, 0); gs().dsOnly = settingWnd.getItemSelection(3, 0);
gs().softreset = settingWnd.getItemSelection(3, 1); gs().nightly = settingWnd.getItemSelection(3, 1);
gs().homebrewreset = settingWnd.getItemSelection(3, 2); gs().phatCol = settingWnd.getItemSelection(3, 2);
gs().romLauncher = settingWnd.getItemSelection(3, 3);
// page 5: gba // page 5: other
gs().gbaSleepHack = settingWnd.getItemSelection(4, 0); gs().cheats = settingWnd.getItemSelection(4, 0);
gs().gbaAutoSave = settingWnd.getItemSelection(4, 1); gs().slot2mode = settingWnd.getItemSelection(4, 1);
gs().slot2mode = settingWnd.getItemSelection(4, 2);
if (uiIndex != uiIndexAfter) { if (uiIndex != uiIndexAfter) {
u32 ret = messageBox(this, LANG("ui style changed", "title"), u32 ret = messageBox(this, LANG("ui style changed", "title"),
@ -608,7 +628,11 @@ void cMainWnd::setParam(void) {
gs().uiName = uiNames[uiIndexAfter]; gs().uiName = uiNames[uiIndexAfter];
gs().langDirectory = langNames[langIndexAfter]; gs().langDirectory = langNames[langIndexAfter];
gs().saveSettings(); gs().saveSettings();
HomebrewLauncher().launchRom("/akmenu4.nds", "", 0, 0, 0); #ifdef __DSIMODE__
HomebrewLauncher().launchRom("sd:/_nds/akmenunext/launcher.nds", "", 0, 0, 0);
#else
HomebrewLauncher().launchRom("fat:/_nds/akmenunext/launcher.nds", "", 0, 0, 0);
#endif
} }
} }
@ -618,7 +642,11 @@ void cMainWnd::setParam(void) {
if (ID_YES == ret) { if (ID_YES == ret) {
gs().langDirectory = langNames[langIndexAfter]; gs().langDirectory = langNames[langIndexAfter];
gs().saveSettings(); gs().saveSettings();
HomebrewLauncher().launchRom("/akmenu4.nds", "", 0, 0, 0); #ifdef __DSIMODE__
HomebrewLauncher().launchRom("sd:/_nds/akmenunext/launcher.nds", "", 0, 0, 0);
#else
HomebrewLauncher().launchRom("fat:/_nds/akmenunext/launcher.nds", "", 0, 0, 0);
#endif
} }
} }
@ -698,6 +726,9 @@ void cMainWnd::onFolderChanged() {
CGbaLoader::StartGBA(); CGbaLoader::StartGBA();
} }
} }
if ("favorites:/" != dirShowName && "slot1:/" == _mainList->getSelectedFullPath()) {
Slot1Launcher().launchRom("slot1:/", "", 0, 0, 0);
}
dbg_printf("%s\n", _mainList->getSelectedFullPath().c_str()); dbg_printf("%s\n", _mainList->getSelectedFullPath().c_str());

View File

@ -104,7 +104,7 @@ cRomInfoWnd::~cRomInfoWnd() {}
void cRomInfoWnd::draw() { void cRomInfoWnd::draw() {
_renderDesc.draw(windowRectangle(), _engine); _renderDesc.draw(windowRectangle(), _engine);
_romInfo.drawDSRomIcon(position().x + 8, position().y + 24, selectedEngine()); _romInfo.drawDSRomIcon(position().x + 8, position().y + 24, selectedEngine(), false);
gdi().setPenColor(uiSettings().formTextColor, selectedEngine()); gdi().setPenColor(uiSettings().formTextColor, selectedEngine());
gdi().textOutRect(position().x + 48, position().y + 22, size().x - 40, 40, _romInfoText.c_str(), gdi().textOutRect(position().x + 48, position().y + 22, size().x - 40, 40, _romInfoText.c_str(),

View File

@ -5,6 +5,7 @@
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
*/ */
#include <sys/stat.h>
#include "romlauncher.h" #include "romlauncher.h"
#include "cheatwnd.h" #include "cheatwnd.h"
#include "exptools.h" #include "exptools.h"
@ -132,25 +133,31 @@ static u32 SaveSize(SAVE_TYPE st) {
return result; return result;
} }
TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool aMenu) { TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool aMenu, const std::string& savesPath) {
u32 flags = 0; u32 flags = 0;
long cheatOffset = 0; long cheatOffset = 0;
size_t cheatSize = 0; size_t cheatSize = 0;
std::string saveName; std::string saveName;
std::string useSavesPath;
ILauncher* launcher = nullptr; ILauncher* launcher = nullptr;
bool isDsiWare;
if (!aRomInfo.isHomebrew()) { if (!aRomInfo.isHomebrew()) {
u32 gameCode; u32 gameCode;
memcpy(&gameCode, aRomInfo.saveInfo().gameCode, sizeof(gameCode)); // because alignment memcpy(&gameCode, aRomInfo.saveInfo().gameCode, sizeof(gameCode)); // because alignment
bool isBigSave = false; bool isBigSave = false;
u32 bigSaveSize = 8 * 1024 * 1024; u32 bigSaveSize = 8 * 1024 * 1024;
u32 bigSaveMask = 14; u32 bigSaveMask = 14;
// check for DSiWare
isDsiWare = aRomInfo.isDSiWare();
// reading speed setting // reading speed setting
std::string disk = aFullPath.substr(0, 5); std::string disk = aFullPath.substr(0, 5);
bool dma = false, protection = aRomInfo.saveInfo().isProtection(); // bool dma = false, protection = aRomInfo.saveInfo().isProtection();
bool protection = aRomInfo.saveInfo().isProtection();
u32 speed = 0; u32 speed = 0;
{ {
if (protection) speed = 0x1fff; if (protection) speed = 0x1fff;
dma = aRomInfo.saveInfo().isDMA(); // dma = aRomInfo.saveInfo().isDMA();
aRomInfo.saveInfo().isDMA();
flags |= PATCH_DMA; flags |= PATCH_DMA;
if ((gameCode & 0xffffff) == if ((gameCode & 0xffffff) ==
0x425855) // 4950 - Jam with the Band (Europe) (En,Fr,De,Es,It) 0x425855) // 4950 - Jam with the Band (Europe) (En,Fr,De,Es,It)
@ -168,11 +175,27 @@ TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool
} }
} }
saveName = cSaveManager::generateSaveName(aFullPath, aRomInfo.saveInfo().getSlot()); std::string savesFolderPath = aFullPath;
//if saveDir is set to true, use saves dir
if (gs().saveDir) {
useSavesPath = savesPath;
savesFolderPath.insert(aFullPath.find_last_of("/\\") + 1, "saves/");
size_t lastSlashPos = savesFolderPath.find_last_of("/\\");
std::string directory = savesFolderPath.substr(0, lastSlashPos + 1);
// Create the saves folder if it doesn't exist
std::string cleanPath = (directory.find("fat:") == 0) ? directory.substr(4) : directory;
cleanPath.pop_back();
if (access(cleanPath.c_str(), F_OK) != 0) {
mkdir(cleanPath.c_str(), 0777);
}
}
else useSavesPath = aFullPath;
saveName = cSaveManager::generateSaveName(savesFolderPath, aRomInfo.saveInfo().getSlot());
// restore save data only for offical programs
if (isBigSave) { if (isBigSave) {
isBigSave = cSaveManager::initializeSaveFile(aFullPath, aRomInfo.saveInfo().getSlot(), isBigSave = cSaveManager::initializeSaveFile(useSavesPath, aRomInfo.saveInfo().getSlot(),
bigSaveSize); bigSaveSize);
if (!isBigSave) return ELaunchNoFreeSpace; if (!isBigSave) return ELaunchNoFreeSpace;
flags |= PATCH_SD_SAVE | (bigSaveMask << PATCH_SAVE_SHIFT); flags |= PATCH_SD_SAVE | (bigSaveMask << PATCH_SAVE_SHIFT);
@ -189,13 +212,16 @@ TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool
saveManager().updateCustomSaveList(aRomInfo.saveInfo()); saveManager().updateCustomSaveList(aRomInfo.saveInfo());
} }
} }
if (cSaveManager::initializeSaveFile(aFullPath, aRomInfo.saveInfo().getSlot(), if(!isDsiWare){
SaveSize(st))) { if (cSaveManager::initializeSaveFile(useSavesPath, aRomInfo.saveInfo().getSlot(),
SaveSize(st))) {
flags |= PATCH_SD_SAVE | (SaveMask(st) << PATCH_SAVE_SHIFT); flags |= PATCH_SD_SAVE | (SaveMask(st) << PATCH_SAVE_SHIFT);
saveManager().saveLastInfo(aFullPath); saveManager().saveLastInfo(aFullPath);
} else { } else {
return ELaunchNoFreeSpace; return ELaunchNoFreeSpace;
}
} }
} }
__NDSHeader->cardControl13 = 0x00406000 | speed; __NDSHeader->cardControl13 = 0x00406000 | speed;
@ -256,5 +282,5 @@ TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool
void autoLaunchRom(const std::string& aFullPath) { void autoLaunchRom(const std::string& aFullPath) {
DSRomInfo rominfo; DSRomInfo rominfo;
rominfo.MayBeDSRom(aFullPath); rominfo.MayBeDSRom(aFullPath);
if (rominfo.isDSRom()) launchRom(aFullPath, rominfo, false); if (rominfo.isDSRom()) launchRom(aFullPath, rominfo, false, NULL);
} }

View File

@ -17,5 +17,5 @@ enum TLaunchResult {
ELaunchNoFreeSpace ELaunchNoFreeSpace
}; };
TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool aMenu); TLaunchResult launchRom(const std::string& aFullPath, DSRomInfo& aRomInfo, bool aMenu, const std::string& savesPath);
void autoLaunchRom(const std::string& aFullPath); void autoLaunchRom(const std::string& aFullPath);

View File

@ -10,9 +10,9 @@
#pragma once #pragma once
#ifndef __DSIMODE__ #ifndef __DSIMODE__
#define SFN_SYSTEM_DIR "fat:/_nds/" #define SFN_SYSTEM_DIR "fat:/_nds/akmenunext/"
#else #else
#define SFN_SYSTEM_DIR "sd:/_nds/" #define SFN_SYSTEM_DIR "sd:/_nds/akmenunext/"
#endif #endif
#define SFN_OFFICIAL_SAVELIST SFN_SYSTEM_DIR "savelist.bin" #define SFN_OFFICIAL_SAVELIST SFN_SYSTEM_DIR "savelist.bin"
#define SFN_CUSTOM_SAVELIST SFN_SYSTEM_DIR "gamedata.bin" #define SFN_CUSTOM_SAVELIST SFN_SYSTEM_DIR "gamedata.bin"

View File

@ -134,8 +134,6 @@ cMessageBox::cMessageBox(s32 x, s32 y, u32 w, u32 h, cWindow* parent, const std:
if (_style & MB_NONE) { if (_style & MB_NONE) {
buttonPitch = _buttonCANCEL->size().x + 8; buttonPitch = _buttonCANCEL->size().x + 8;
nextButtonX -= buttonPitch; nextButtonX -= buttonPitch;
_buttonOK->setRelativePosition(cPoint(nextButtonX, buttonY));
//_buttonOK->show();
} }
arrangeChildren(); arrangeChildren();

View File

@ -8,7 +8,7 @@
*/ */
#define AKMENU_VERSION_MAIN "1" #define AKMENU_VERSION_MAIN "1"
#define AKMENU_VERSION_SUB "0" #define AKMENU_VERSION_SUB "6.1"
#ifndef __KERNEL_LAUNCHER_SUPPORT__ #ifndef __KERNEL_LAUNCHER_SUPPORT__
#define AKMENU_LOADER_NAME "nds-bootstrap" #define AKMENU_LOADER_NAME "nds-bootstrap"

View File

@ -1,141 +0,0 @@
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITARM)),)
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
endif
include $(DEVKITARM)/ds_rules
SOURCE_PATH := ../arm9
#---------------------------------------------------------------------------------
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files
# DATA is a list of directories containing binary files embedded using bin2o
# GRAPHICS is a list of directories containing image files to be converted with grit
# all directories are relative to this makefile
#---------------------------------------------------------------------------------
BUILD := build
SOURCES := $(SOURCE_PATH)/source $(SOURCE_PATH)/source/ui $(SOURCE_PATH)/source/font $(SOURCE_PATH)/source/launcher $(SOURCE_PATH)/source/saves
INCLUDES := $(SOURCE_PATH)/include ../share $(SOURCES)
DATA := $(SOURCE_PATH)/data ../data
GRAPHICS :=
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
CFLAGS := -g -Wall -O3\
$(ARCH) $(INCLUDE) -DARM9
CFLAGS += -D_NO_BOOTSTUB_ -D__KERNEL_LAUNCHER_SUPPORT__ -D__AKLOADER_AK2__
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH) $(INCLUDE)
LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lfat -lnds9
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS := $(LIBNDS) $(PORTLIBS)
#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------
export ARM9ELF := $(CURDIR)/$(TARGET).elf
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\
$(foreach dir,$(DATA),$(CURDIR)/$(dir))\
$(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD)
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),)
#---------------------------------------------------------------------------------
export LD := $(CC)
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
export LD := $(CXX)
#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES)
export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES)))
export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\
$(foreach dir,$(LIBDIRS),-I$(dir)/include)\
-I$(CURDIR)/$(BUILD)
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: $(BUILD) clean
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).elf
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
$(ARM9ELF) : $(OFILES)
@echo linking $(notdir $@)
@$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@
#---------------------------------------------------------------------------------
%.bin.o %_bin.h : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
# This rule creates assembly source files using grit
# grit takes an image file and a .grit describing how the file is to be processed
# add additional rules like this for each image extension
# you use in the graphics folders
#---------------------------------------------------------------------------------
%.s %.h: %.png %.grit
#---------------------------------------------------------------------------------
grit $< -fts -o$*
-include $(DEPSDIR)/*.d
#---------------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------------

View File

@ -28,6 +28,7 @@ GRAPHICS :=
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
CFLAGS := -g -Wall -O3\ CFLAGS := -g -Wall -O3\
-Wno-address-of-packed-member \
$(ARCH) $(INCLUDE) -DARM9 $(ARCH) $(INCLUDE) -DARM9
CFLAGS += -D_NO_BOOTSTUB_ -D__DSIMODE__ CFLAGS += -D_NO_BOOTSTUB_ -D__DSIMODE__

View File

@ -1,141 +0,0 @@
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITARM)),)
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
endif
include $(DEVKITARM)/ds_rules
SOURCE_PATH := ../arm9
#---------------------------------------------------------------------------------
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files
# DATA is a list of directories containing binary files embedded using bin2o
# GRAPHICS is a list of directories containing image files to be converted with grit
# all directories are relative to this makefile
#---------------------------------------------------------------------------------
BUILD := build
SOURCES := $(SOURCE_PATH)/source $(SOURCE_PATH)/source/ui $(SOURCE_PATH)/source/font $(SOURCE_PATH)/source/launcher $(SOURCE_PATH)/source/launcher/libfat_ext $(SOURCE_PATH)/source/saves
INCLUDES := $(SOURCE_PATH)/include ../share $(SOURCES)
DATA := $(SOURCE_PATH)/data ../data
GRAPHICS :=
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
CFLAGS := -g -Wall -O3\
$(ARCH) $(INCLUDE) -DARM9
CFLAGS += -D_NO_BOOTSTUB_ -D__KERNEL_LAUNCHER_SUPPORT__ -D__TTLAUNCHER__ -D__TTLAUNCHER_M3__
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH) $(INCLUDE)
LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lfat -lnds9
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS := $(LIBNDS) $(PORTLIBS)
#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------
export ARM9ELF := $(CURDIR)/$(TARGET).elf
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\
$(foreach dir,$(DATA),$(CURDIR)/$(dir))\
$(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD)
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),)
#---------------------------------------------------------------------------------
export LD := $(CC)
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
export LD := $(CXX)
#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES)
export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES)))
export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\
$(foreach dir,$(LIBDIRS),-I$(dir)/include)\
-I$(CURDIR)/$(BUILD)
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: $(BUILD) clean
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).elf
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
$(ARM9ELF) : $(OFILES)
@echo linking $(notdir $@)
@$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@
#---------------------------------------------------------------------------------
%.bin.o %_bin.h : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
# This rule creates assembly source files using grit
# grit takes an image file and a .grit describing how the file is to be processed
# add additional rules like this for each image extension
# you use in the graphics folders
#---------------------------------------------------------------------------------
%.s %.h: %.png %.grit
#---------------------------------------------------------------------------------
grit $< -fts -o$*
-include $(DEPSDIR)/*.d
#---------------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------------

View File

@ -1,141 +0,0 @@
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITARM)),)
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
endif
include $(DEVKITARM)/ds_rules
SOURCE_PATH := ../arm9
#---------------------------------------------------------------------------------
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files
# DATA is a list of directories containing binary files embedded using bin2o
# GRAPHICS is a list of directories containing image files to be converted with grit
# all directories are relative to this makefile
#---------------------------------------------------------------------------------
BUILD := build
SOURCES := $(SOURCE_PATH)/source $(SOURCE_PATH)/source/ui $(SOURCE_PATH)/source/font $(SOURCE_PATH)/source/launcher $(SOURCE_PATH)/source/launcher/libfat_ext $(SOURCE_PATH)/source/launcher/ttio $(SOURCE_PATH)/source/saves
INCLUDES := $(SOURCE_PATH)/include ../share $(SOURCES)
DATA := $(SOURCE_PATH)/data ../data
GRAPHICS :=
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s
CFLAGS := -g -Wall -O3\
$(ARCH) $(INCLUDE) -DARM9
CFLAGS += -D_NO_BOOTSTUB_ -D__KERNEL_LAUNCHER_SUPPORT__ -D__TTLAUNCHER__ -D__TTLAUNCHER_DSTT__
CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
ASFLAGS := -g $(ARCH) $(INCLUDE)
LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lfat -lnds9
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS := $(LIBNDS) $(PORTLIBS)
#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------
export ARM9ELF := $(CURDIR)/$(TARGET).elf
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\
$(foreach dir,$(DATA),$(CURDIR)/$(dir))\
$(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir))
export DEPSDIR := $(CURDIR)/$(BUILD)
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png)))
BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
ifeq ($(strip $(CPPFILES)),)
#---------------------------------------------------------------------------------
export LD := $(CC)
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
export LD := $(CXX)
#---------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------
export OFILES_BIN := $(addsuffix .o,$(BINFILES))
export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES)
export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES)))
export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\
$(foreach dir,$(LIBDIRS),-I$(dir)/include)\
-I$(CURDIR)/$(BUILD)
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: $(BUILD) clean
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#---------------------------------------------------------------------------------
clean:
@echo clean ...
@rm -fr $(BUILD) $(TARGET).elf
#---------------------------------------------------------------------------------
else
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
$(ARM9ELF) : $(OFILES)
@echo linking $(notdir $@)
@$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@
#---------------------------------------------------------------------------------
%.bin.o %_bin.h : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
# This rule creates assembly source files using grit
# grit takes an image file and a .grit describing how the file is to be processed
# add additional rules like this for each image extension
# you use in the graphics folders
#---------------------------------------------------------------------------------
%.s %.h: %.png %.grit
#---------------------------------------------------------------------------------
grit $< -fts -o$*
-include $(DEPSDIR)/*.d
#---------------------------------------------------------------------------------------
endif
#---------------------------------------------------------------------------------------

BIN
banner.bin Normal file

Binary file not shown.

View File

@ -1,5 +0,0 @@
set -e
mkdir -p data
make -C nds-bootloader LOADBIN=$PWD/data/load.bin
make

View File

@ -1,3 +0,0 @@
make clean
make -C nds-bootloader clean
rm data/load.bin

View File

@ -1,75 +0,0 @@
Baldur's Gate - Dark Alliance (Europe) (En,Fr,De,Es,It).gba
Baldur's Gate - Dark Alliance (USA).gba
Catwoman (USA, Europe) (En,Fr,De,Es,It,Nl).gba
Action Man - Robot Atak (Europe) (En,Fr,De,Es,It).gba
Harry Potter and the Goblet of Fire (USA, Europe) (En,Fr,De,Es,It,Nl,Da).gba
Ghost Rider (USA, Europe) (En,Fr,De,Es,It,Nl).gba
Top Spin 2 (Europe) (En,Fr,De,Es,It).gba
Top Spin 2 (USA) (En,Fr,De,Es,It).gba
Rayman 3 (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi).gba
Rayman 3 (USA) (En,Fr,Es).gba
Rayman 10th Anniversary - Rayman Advance + Rayman 3 (Europe) (En,Fr,De,Es,It+En,Fr,De,Es,It,Nl,Sv,No,Da,Fi).gba
Rayman 10th Anniversary - Rayman Advance + Rayman 3 (USA) (En,Fr,De,Es,It+En,Fr,Es).gba
2 Games in 1 - Winnie the Pooh's Rumbly Tumbly Adventure + Rayman 3 (Europe) (En,Fr,De,Es,It,Nl+En,Fr,De,Es,It,Nl,Sv,No,Da,Fi).gba
Metroid - Zero Mission (Europe) (En,Fr,De,Es,It).gba
Metroid - Zero Mission (Japan).gba
Metroid - Zero Mission (USA).gba
Miteluode - Lingdian Renwu (China).gba
Legend of Zelda, The - The Minish Cap (Europe) (En,Fr,De,Es,It).gba
Legend of Zelda, The - The Minish Cap (USA).gba
Legend of Zelda, The - The Minish Cap (USA) (Kiosk Demo).gba
Zelda no Densetsu - Fushigi no Boushi (Japan).gba
Metroid Fusion (Europe) (En,Fr,De,Es,It).gba
Metroid Fusion (Japan).gba
Metroid Fusion (USA, Australia).gba
Miteluode Ronghe (China).gba
Legend of Zelda, The - A Link to the Past & Four Swords (Europe) (En,Fr,De,Es,It).gba
Legend of Zelda, The - A Link to the Past & Four Swords (USA, Australia).gba
Zelda no Densetsu - Kamigami no Triforce & 4tsu no Tsurugi (Japan).gba
Super Mario Advance 2 - Super Mario World + Mario Brothers (Japan).gba
Mario & Luigi - Superstar Saga (USA) (Kiosk Demo).gba
Super Mario Advance 3 - Yoshi's Island (Europe) (En,Fr,De,Es,It).gba
Super Mario Advance 3 - Yoshi's Island (USA).gba
Super Mario Advance 3 - Yoshi's Island + Mario Brothers (Japan).gba
Yaoxi Dao (China).gba
Super Mario Advance 4 - Super Mario 3 + Mario Brothers (Japan).gba
Super Mario Advance 4 - Super Mario 3 + Mario Brothers (Japan) (Rev B).gba
Super Mario Advance 4 - Super Mario Bros. 3 (Europe) (En,Fr,De,Es,It).gba
Super Mario Advance 4 - Super Mario Bros. 3 (Europe) (En,Fr,De,Es,It) (Rev A).gba
Super Mario Advance 4 - Super Mario Bros. 3 (USA).gba
Super Mario Advance 4 - Super Mario Bros. 3 (USA, Australia) (Rev A).gba
Mario & Luigi - Superstar Saga (Europe) (En,Fr,De,Es,It).gba
Mario & Luigi - Superstar Saga (USA, Australia).gba
Mario & Luigi RPG (Japan).gba
Drill Dozer (USA).gba
2 Games in 1 - Dr. Mario & Puzzle League (Europe) (En,Fr,De,Es,It).gba
2 Games in 1 - Dr. Mario & Puzzle League (USA, Australia).gba
bit Generations - Coloris (Japan).gba
bit Generations - Dialhex (Japan).gba
Golden Sun - The Lost Age (USA, Europe).gba
Golden Sun - Die vergessene Epoche (Germany).gba
Golden Sun - L'Age Perdu (France).gba
Golden Sun - L'Era Perduta (Italy).gba
Golden Sun - La Edad Perdida (Spain).gba
Classic NES Series - Bomberman (USA, Europe).gba
Classic NES Series - Castlevania (USA, Europe).gba
Classic NES Series - Donkey Kong (USA, Europe).gba
Classic NES Series - Dr. Mario (USA, Europe).gba
Classic NES Series - Excitebike (USA, Europe).gba
Classic NES Series - Ice Climber (USA, Europe).gba
Classic NES Series - Legend of Zelda (USA, Europe).gba
Classic NES Series - Metroid (USA, Europe).gba
Classic NES Series - Pac-Man (USA, Europe).gba
Classic NES Series - Super Mario Bros. (USA, Europe).gba
Classic NES Series - Xevious (USA, Europe).gba
Classic NES Series - Zelda II - The Adventure of Link (USA, Europe).gba
Golden Sun (USA, Europe).gba
Golden Sun (France).gba
Golden Sun (Germany).gba
Golden Sun (Italy).gba
Golden Sun (Spain).gba
Prince of Persia - The Sands of Time (Europe) (En,Fr,De,Es,It,Nl).gba
Prince of Persia - The Sands of Time (USA) (En,Fr,Es).gba
Harry Potter - Quidditch World Cup (USA, Europe) (En,Fr,De,Es,It,Nl,Da).gba
Harry Potter - Quidditch World Cup (Japan).gba
Mother 3 (Japan).gba

BIN
icon.bmp

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

View File

@ -1,20 +1,20 @@
// Thanks to Ralf Friedrich, Klaus P., OzanOs, IcyVeins & Toastbrot for the translation. //Thanks to Ralf Friedrich, Klaus P., OzanOs, IcyVeins, Toastbrot & Werner Schabert for the translation.
[font] [font]
main = liberation.pcf main = liberation.pcf
language = 3 language = 3
[start menu] [start menu]
Copy = Kopieren
Cut = Ausschneiden
Paste = Einfügen
Delete = Löschen
Setting = Einstellungen Setting = Einstellungen
Set favorite = Als Favorit festlegen
Unset favorite = Aus Favoriten entfernen
Info = Dateiinfo Info = Dateiinfo
Help = Hilfe Help = Hilfe & Über
Tools = Tools Tools = Tools
START = START START = START
[message box] [message box]
yes = Ja yes = Ja
no = Nein no = Nein
@ -22,8 +22,8 @@ ok = OK
cancel = Abbruch cancel = Abbruch
[progress window] [progress window]
processing save = Arbeite ! Nicht abschalten processing save = Sicherungsdatei wird erstellt, nicht ausschalten!!
processing copy = Kopiere ! Nicht abschalten, %c zum Abbruch processing copy = Kopiere Datei… nicht abschalten, %c zum Abbrechen
first use sd = Prüfe SD-Karte für die erstmalige Nutzung first use sd = Prüfe SD-Karte für die erstmalige Nutzung
gba load = Lade GBA Spiel… gba load = Lade GBA Spiel…
gba save load = Lade GBA Spielstand… gba save load = Lade GBA Spielstand…
@ -36,43 +36,43 @@ text = Datei existiert nicht
[copy file exists] [copy file exists]
title = Warnung title = Warnung
text = Datei mit diesen Namen vorhanden, überschreiben ? text = Eine Datei mit diesen Namen existiert bereits. Diese Datei überschreiben?
[copy dest is directory] [copy dest is directory]
title = Fehler title = Fehler
text = Dieser Ordner enthält einen Ordner mit diesem Namen. Kopieren nicht möglich. text = Ein Ordner mit diesem Namen existiert bereits. Kopieren nicht möglich.
[move dest is directory] [move dest is directory]
title = Fehler title = Fehler
text = Dieser Ordner enthält einen Ordner mit diesem Namen. Verschieben nicht möglich. text = Ein Ordner mit diesem Namen existiert bereits. Verschieben nicht möglich.
[no copy dir] [no copy dir]
title = Fehler title = Fehler
text = Verzeichnis-Kopieren nicht möglich. text = Verzeichni-Kopieren/Verschieben nicht möglich.
[stop copying file] [stop copying file]
title = Kopieren Abbrechen title = Kopieren der Datei abbrechen
text = Wollen Sie Abbrechen ? text = Kopieren der Datei abbrechen?
[confirm delete file] [confirm delete file]
title = Bestätigen title = Bestätigen
text = Datei kann nicht wiederhergestellt werden, "%s" löschen ? text = Die Datei kann nach dem Löschen nicht wiederhergestellt werden, "%s" löschen?
[do not delete directory] [do not delete directory]
title = Warnung title = Fehler
text = Verzeichnis ist nicht leer, Löschen unmöglich. text = Löschvorgang abgebrochen.
[restore save fail] [restore save fail]
title = Fehler title = Fehler
text = Wiederherstellung fehlgeschlagen. text = Wiederherstellung des Spielstands fehlgeschlagen.
[language changed] [language changed]
title = Frage title = Frage
text = Systemsprache geändert, Neustarten um Änderungen anzunehmen ? Wählen Sie "Nein" um später neu zu starten. text = Die Systemsprache wurde geändert, Neustart um Änderungen anzunehmen? Wähle "Nein" um später neuzustarten.
[ui style changed] [ui style changed]
title = Frage title = Frage
text = Benutzerinterface geändert, Neustarten zum anzunehmen ? "Nein" wählen um aktuellen Style zu behalten. text = Benutzerinterface wurde geändert, Neustart um Änderungen anzunehmen? Wähle "Nein" um aktuellen Style beizubehalten.
[setting window] [setting window]
ok = OK ok = OK
@ -85,12 +85,12 @@ system = System
interface = Oberfläche interface = Oberfläche
filesystem = Dateisystem filesystem = Dateisystem
gba = GBA gba = GBA
patches = Patches patches = nds-bootstrap Einstellungen
[save type] [save type]
title = Einstellungen title = Einstellungen
text = Wähle Savetype text = Savetype
Unknown = Auto Unknown = Unbekannt/Auto
No Save = Keiner No Save = Keiner
4K = 4K 4K = 4K
64K = 64K 64K = 64K
@ -103,7 +103,7 @@ No Save = Keiner
32M = 32M 32M = 32M
64M = 64M 64M = 64M
default = Standard default = Standard
save slot = Speicher-Slot auswählen save slot = Speicher-Slot
tab1 = Kompatibilitäts Einstellungen tab1 = Kompatibilitäts Einstellungen
tab2 = Zusatzfunktionen tab2 = Zusatzfunktionen
@ -112,8 +112,8 @@ title = System-Konfig.
safe mode = Safe Mode safe mode = Safe Mode
[rom info] [rom info]
title = Datei-Information title = Dateiinformation
file date = l. Änderung: %d/%d/%d %02d:%02d:%02d(GMT) file date = Letzte Änderung: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Dateigröße: %s file size = Dateigröße: %s
save type = Speichertyp: %s save type = Speichertyp: %s
game code = Code: %s game code = Code: %s
@ -121,8 +121,8 @@ copy slot = Kopieren
[disk info] [disk info]
total = Kapazität: %s total = Kapazität: %s
used = Benutzer S: %s used = Benutzt: %s
free = Freier Sp.: %s free = Frei: %s
[no free space] [no free space]
title = Fehler title = Fehler
@ -130,19 +130,19 @@ text = Nicht genügend freier Speicher.
[unsupported sd] [unsupported sd]
title = SD nicht unterstützt title = SD nicht unterstützt
text = Diese SD Karte(Model:%s) ist nicht geeignet für offizielle DS Programme, Bitte kopieren Sie diese zum internen Speicher und probieren Sie erneut. text = Diese SD Karte(Model:%s) ist nicht geeignet für offizielle DS Programme, Bitte kopiere diese zum internen Speicher und probiere es erneut.
[sd card error] [sd card error]
title = SD card Fehler title = SD card Fehler
text = Zugriff auf SD nicht möglich, Nicht korrekt eingesetzt ? text = Zugriff auf SD Card nicht möglich. Karte korrekt eingesetzt?
[no sd for save] [no sd for save]
title = SD card Fehler title = SD card Fehler
text = Zugriff auf SD nicht möglich. Speicherung des letzten Programms wird geschrieben nach: "%s". text = Zugriff auf SD Card nicht möglich, Spielstand des letzten Programms wird geschrieben nach: "%s".
[no gba card] [no gba card]
title = Hinweis title = Hinweis
text = Keine Gerät im SLOT-2 vorhanden text = Kein Gerät im SLOT-2 vorhanden
[filelist type] [filelist type]
text = Setze Filelist Typ text = Setze Filelist Typ
@ -163,9 +163,11 @@ fr = français
de = deutsch de = deutsch
it = italiano it = italiano
es = español es = español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = Benutzerinterface Style text = Benutzerinterface-Style
[help window] [help window]
title = Hilfe title = Hilfe
@ -173,11 +175,11 @@ item0 = %c Programm wählen
item1 = %c Start/OK/Ja item1 = %c Start/OK/Ja
item2 = %c Zurück/Abbruch/Nein item2 = %c Zurück/Abbruch/Nein
item3 = %c Zeige Dateiinfo/Wähle Savetype item3 = %c Zeige Dateiinfo/Wähle Savetype
item4 = %c Wechsel SD/FLASH item4 = %c Lieblingsspiele
item5 = %c Ein Verzeichnis zurück item5 = %c Ein Verzeichnis zurück
item6 = %c Helligkeit einstellen item6 = %c Helligkeit einstellen
item7 = %s Startmenü item7 = %s Startmenü
item8 = %s Menüstyle neu/klassisch item8 = %s Dateiansicht wechseln
[exp window] [exp window]
button = 3in1 button = 3in1
@ -193,27 +195,30 @@ flash to nor = in NOR
copy to psram = in RAM copy to psram = in RAM
[abort save] [abort save]
title = Abbrechen Speichervorgang title = Abbrechen des Speichervorgangs
text = Willst Du wirklich den Speichervorgang abbrechen? text = Speichervorgang wirklich abbrechen?
[gba warn] [gba warn]
title = Warnung GBA ROM Größe title = Warnung GBA ROM Größe
text = GBA ROM zu groß. Mehr als 32MB werden nicht unterstützt! text = GBA ROMs mit mehr als 32MB werden nicht unterstützt!
[patches] [patches]
download play = Download Play download play = DS-Download-Spiel
cheating system = In-Game Cheats cheating system = In-Game Cheats
reset in game = Menue Softreset reset in game = Menü-Softreset
dma = DMA Modus dma = DMA Modus
protection = Kopierschutz umgehen protection = Kopierschutz umgehen
linkage = Mit GBA-Spiel verbinden linkage = Mit GBA-Spiel verbinden
sd save = Direkt auf SD-Karte speichern sd save = Direkt auf SD-Karte speichern
homebrew reset = Reset in Homebrew homebrew reset = Reset in Homebrew
reset hotkey = Reset Hotkey
rts = Real Time Save
carddma = Card read DMA
[switches] [switches]
Enable = Auf Enable = An
Disable = Aus Disable = Aus
Global = Alle(%s) Global = Global(%s)
[ram allocation] [ram allocation]
title = Fehler title = Fehler
@ -226,8 +231,9 @@ slow = Langsam
[file settings] [file settings]
title = File-System-Einstellungen title = File-System-Einstellungen
show hidden files = Versteckte Dateien zeigen show hidden files = Versteckte Dateien anzeigen
save extension = Spielstand Erweiterung save extension = Spielstand-Dateiendung
use saves folder = Ordner 'saves' verwenden
[interface settings] [interface settings]
title = Interface-Einstellungen title = Interface-Einstellungen
@ -235,7 +241,8 @@ scrolling speed = Scrollgeschwindigkeit
filelist style = Dateiansicht filelist style = Dateiansicht
oldschool = Klassisch oldschool = Klassisch
modern = Modern modern = Modern
internal = Übersichtlich internal = Eigenname
small = Kleine Icons
animation = Animation animation = Animation
12 hour = 12-Stunden-Zählung 12 hour = 12-Stunden-Zählung
@ -247,11 +254,11 @@ mode = Slot-2 mode
modegba = gba modegba = gba
modends = nds modends = nds
modeask = ask modeask = ask
modetext = Launch slot-2 in NDS mode? modetext = Slot-2 im NDS-Modus starten?
[sd save] [sd save]
title = Warnung title = Warnung
text = Dieses Spiel kann nicht vom Internen Speicher aus gestartet werden, bitte kopieren Sie das Spiel auf die SD-Karte und versuchen Sie es erneut. text = Dieses Spiel kann nicht vom internen Speicher aus gestartet werden, bitte kopiere das Spiel auf die SD-Karte und versuche es erneut.
[icon] [icon]
icon = Icon anzeigen icon = Icon anzeigen
@ -262,17 +269,74 @@ firmware = Firmware
[cheats] [cheats]
title = Cheats title = Cheats
info = Mehr… info = Mehr…
deselect = Deselect all deselect = Kein Cheat
[saveslot] [saveslot]
title = Speicher-Slot kopieren title = Speicher-Slot kopieren
confirm = Sind Sie sicher, dass Sie den Speicher-Slot kopieren möchten? confirm = Bist Du sicher, dass Du den Speicher-Slot kopieren möchtest?
target slot = Ziel Speicher-Slot target slot = Ziel Speicher-Slot
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = Flash Memory
microsd card = microSD Card microsd card = microSD Card
slot2 card = Slot2 Card slot2 card = Slot2 Card
favorites = Favorites slot1 card = Slot1 Card
favorites = Favoriten
[hotkeys]
l-r-a-b-↓ = l-r-a-b-↓
l-r-b-y-↓ = l-r-b-y-↓
l-r-a-b-x-y = l-r-a-b-x-y
b-y-touch = b-y-touch
start-r-touch = start-r-touch
[updater]
update = Update
update ? = Udpate durchführen?
updater = Update-Modul
menu = Haupt-Modul
savesize.bin = savesize.bin
cheats = Cheats DB
connecting = Verbindung wird hergestellt
failed = Update fehlgeschlagen
updated = Update erfolgreich
fresh = Update bereits durchgeführt
stop = Transfer abbrechen?
download = %d Bytes heruntergeladen
unpack = Daten werden entpackt
[crc32]
crc32 = CRC32
calculation = Berechne CRC32
[loader]
text = ROM-Loader verwenden
not found = Loader nicht gefunden
error = Error
info = Information
[loading]
load text = Bitte warten…
[nds bootstrap]
text = nds-bootstrap version
item0 = release
item1 = nightly
firsttimetitle = NDS-Bootstrap wird initialisiert
firsttime = Drücken Sie OK, um die Ersteinrichtung von NDS-Bootstrap zu starten. Dies kann eine Minute dauern und ist ein einmaliger Vorgang.
dsmode = DS-Only Mode
inimissingtitle = INI-Fehler.
inimissing = ndsbs.ini fehlt in _nds/akmenunext oder ist beschädigt. Bitte stellen Sie diese Datei wieder her oder installieren Sie akmenu-next neu.
phatCol = DS Phat Colors
[resethotkey]
text = Menü-Hotkey
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = Brauch
[end] [end]

View File

@ -7,9 +7,9 @@ language = 1
[start menu] [start menu]
Setting = Settings Setting = Settings
Set favorite = Set favorite Set favorite = Set favorite
Unset favorite = Unset favorite Unset favorite = Remove favorite
Info = File Info Info = File Info
Help = Help Help = Help & About
Tools = Tools Tools = Tools
START = START START = START
@ -20,7 +20,7 @@ ok = OK
cancel = Cancel cancel = Cancel
[progress window] [progress window]
processing save = Processing, dont power off processing save = Creating save, dont power off
processing copy = Copying file, dont power off, %c for cancel processing copy = Copying file, dont power off, %c for cancel
first use sd = Checking SD card for the first time using first use sd = Checking SD card for the first time using
gba load = Loading gba game gba load = Loading gba game
@ -83,7 +83,7 @@ system = System
interface = Interface interface = Interface
filesystem = File system filesystem = File system
gba = GBA gba = GBA
patches = Patches patches = nds-bootstrap settings
[save type] [save type]
title = Settings title = Settings
@ -148,10 +148,16 @@ item0 = NDS
item1 = NDS + SAV item1 = NDS + SAV
item2 = ALL item2 = ALL
[rom trim] [nds bootstrap]
text = Trim rom when copy text = nds-bootstrap version
item0 = No item0 = release
item1 = Yes item1 = nightly
firsttimetitle = Initializing nds-bootstrap
firsttime = Press OK to start first-time setup of nds-bootstrap. This may take a minute and is a one-time process.
dsmode = DS-Only Mode
inimissingtitle = INI error
inimissing = ndsbs.ini is missing from _nds/akmenunext or is corrupt. Please restore this file or reinstall akmenu-next.
phatCol = DS Phat Colors
[language] [language]
text = Language text = Language
@ -161,6 +167,8 @@ fr = français
de = deutsch de = deutsch
it = italiano it = italiano
es = español es = español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = User Interface style text = User Interface style
@ -171,9 +179,9 @@ item0 = %c Select Programs
item1 = %c Start/OK/YES item1 = %c Start/OK/YES
item2 = %c Back/Cancel/NO item2 = %c Back/Cancel/NO
item3 = %c View file info/Select Save Type item3 = %c View file info/Select Save Type
item4 = %c Switch SD/FLASH item4 = %c Favourites
item5 = %c Back to parent directory item5 = %c Back to parent directory
item6 = %c Adjust Brightness item6 = %c Adjust Brightness (DS-Only)
item7 = %s Start Menu item7 = %s Start Menu
item8 = %s Menu style new/classical item8 = %s Menu style new/classical
@ -207,6 +215,7 @@ protection = Bypass Protection
linkage = Link with GBA linkage = Link with GBA
sd save = Save directly to SD sd save = Save directly to SD
homebrew reset = Reset in Homebrew homebrew reset = Reset in Homebrew
carddma = Card read DMA
[switches] [switches]
Enable = on Enable = on
@ -226,19 +235,21 @@ slow = Slow
title = File system settings title = File system settings
show hidden files = Show hidden files show hidden files = Show hidden files
save extension = Save extension save extension = Save extension
use saves folder = Use 'saves' folder
[interface settings] [interface settings]
title = Interface settings title = Interface settings
scrolling speed = Scrolling speed scrolling speed = Scrolling speed
filelist style = Filelist style filelist style = Filelist style
oldschool = Old school oldschool = Old school
small = Small Icons
modern = Modern modern = Modern
internal = Internal internal = Internal
animation = Animation animation = Animation
12 hour = 12-hour clock 12 hour = 12-hour clock
[gba settings] [gba settings]
title = GBA settings title = Other Settings
sleephack = Universal sleep sleephack = Universal sleep
autosave = Backup save at startup autosave = Backup save at startup
mode = Slot-2 mode mode = Slot-2 mode
@ -270,11 +281,27 @@ target slot = Target Save Slot
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = Flash Memory
microsd card = microSD Card microsd card = microSD Card
slot2 card = Slot2 Card slot2 card = Slot 2 Card
slot1 card = Slot 1 Card
favorites = Favorites favorites = Favorites
[loader] [loader]
text = Use ROM loader text = Use ROM loader
not found = Loader not found not found = Loader not found
error = Error
info = Information
[loading]
load text = Please wait...
[resethotkey]
text = Menu Hotkey
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = Custom
[end] [end]

View File

@ -1,15 +1,20 @@
// Spanish language file for the Wood Firmwares by Yellow Wood Goblin. Modified and updated by PabloACZ. Very thanks to germich3, pichon64, Mhetralla and pepeluis33, for starting the translation project. // Spanish language file for the Wood Firmwares by Yellow Wood Goblin:
// Modified and updated by PabloACZ.
// Very thanks to germich3, pichon64, Mhetralla and pepeluis33, for starting the translation project.
// ______________________________________________________________
//
// Archivo de idioma español para los Firmwares Wood de Yellow Wood Goblin:
// Modificado y actualizado por PabloACZ.
// Agradecimientos a germich3, pichon64, Mhetralla y pepeluis33 por comenzar este proyecto.
[font] [font]
main = liberation.pcf main = liberation.pcf
language = 5 language = 5
[start menu] [start menu]
Copy = Copiar
Cut = Cortar
Paste = Pegar
Delete = Eliminar
Setting = Opciones Setting = Opciones
Set favorite = Añadir a favoritos
Unset favorite = Eliminar de favoritos
Info = Información Info = Información
Help = Ayuda Help = Ayuda
Tools = Herramientas Tools = Herramientas
@ -60,7 +65,7 @@ text = El elemento no podrá ser recuperado si se elimina. ¿Borrar "%s" de toda
[do not delete directory] [do not delete directory]
title = Error title = Error
text = El directorio no está vacío. No puede eliminarse. text = Eliminación de datos abortada.
[restore save fail] [restore save fail]
title = Error title = Error
@ -85,7 +90,7 @@ system = Sistema
interface = Interfaz interface = Interfaz
filesystem = Sistema de archivos filesystem = Sistema de archivos
gba = GBA gba = GBA
patches = Parches patches = configuración de nds-bootstrap
[save type] [save type]
title = Opciones title = Opciones
@ -163,6 +168,8 @@ fr = français
de = deutsch de = deutsch
it = italiano it = italiano
es = español es = español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = Interfaz gráfica text = Interfaz gráfica
@ -209,6 +216,9 @@ protection = Sobrepasar la protección AP
linkage = Enlazar con GBA (SLOT-2) linkage = Enlazar con GBA (SLOT-2)
sd save = Guardar directamente en la SD sd save = Guardar directamente en la SD
homebrew reset = SoftReset en apps. homebrew homebrew reset = SoftReset en apps. homebrew
reset hotkey = Comb. botones del SoftReset
rts = Real Time Save
carddma = Card read DMA
[switches] [switches]
Enable = sí Enable = sí
@ -228,6 +238,7 @@ slow = lenta
title = Ajustes del sistema de archivos title = Ajustes del sistema de archivos
show hidden files = Mostrar archivos ocultos show hidden files = Mostrar archivos ocultos
save extension = Extensión de saves save extension = Extensión de saves
use saves folder = Usar carpeta 'saves'
[interface settings] [interface settings]
title = Ajustes de la interfaz title = Ajustes de la interfaz
@ -236,11 +247,12 @@ filelist style = Estilo de la lista de archivos
oldschool = antiguo oldschool = antiguo
modern = moderno modern = moderno
internal = detallado internal = detallado
small = íconos pequeños
animation = Animación de íconos animation = Animación de íconos
12 hour = Sistema horario de 12 horas 12 hour = Sistema horario de 12 horas
[gba settings] [gba settings]
title = Ajustes de GBA title = Otras configuraciones
sleephack = Reposo universal (sleep) sleephack = Reposo universal (sleep)
autosave = Respaldar save al inicio autosave = Respaldar save al inicio
mode = Modo SLOT-2 mode = Modo SLOT-2
@ -273,6 +285,63 @@ target slot = Slot de guardado de destino
flash memory = Memoria flash flash memory = Memoria flash
microsd card = Tarjeta micro SD microsd card = Tarjeta micro SD
slot2 card = Flashcard de SLOT-2 slot2 card = Flashcard de SLOT-2
slot1 card = Flashcard de SLOT-1
favorites = Favoritos favorites = Favoritos
[hotkeys]
l-r-a-b-↓ = l+r+a+b+↓
l-r-b-y-↓ = l+r+b+y+↓
l-r-a-b-x-y = l+r+a+b+x+y
b-y-touch = b+y+p.táctil
start-r-touch = start+r+p.táctil
[updater]
update = Actualizar
update ? = ¿Seguro de que quieres actualizar estos datos?
updater = Módulo updater.dat
menu = Firmware Wood
savesize.bin = savesize.bin
cheats = USRCHEAT.DAT
connecting = Conectando
failed = actualización fallida
updated = actualizado correctamente
fresh = ya tienes la última versión
stop = ¿Quieres parar la transferencia?
download = %d bytes descargados
unpack = Descomprimiendo
[crc32]
crc32 = CRC32
calculation = Calculando CRC32…
[loader]
text = Utilice el cargador de ROM
not found = Cargador no encontrado
error = Error
info = Information
[loading]
load text = Espere por favor…
[nds bootstrap]
text = nds-bootstrap version
item0 = release
item1 = nightly
firsttimetitle = Inicializando nds-bootstrap
firsttime = Pulsa "Aceptar" para iniciar la configuración inicial de nds-bootstrap. Este proceso puede tardar un minuto y se realiza una sola vez.
dsmode = DS-Only Mode
inimissingtitle = Error De INI
inimissing = ndsbs.ini no se encuentra en _nds/akmenunext o está dañado. Restaure este archivo o reinstale akmenu-next.
phatCol = DS Phat Colors
[resethotkey]
text = Botones del menú
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = Costumbre
[end] [end]

View File

@ -5,11 +5,9 @@ main = liberation.pcf
language = 2 language = 2
[start menu] [start menu]
Copy = Copier
Cut = Couper
Paste = Coller
Delete = Supprimer
Setting = Paramètres Setting = Paramètres
Set favorite = Ajouter aux favoris
Unset favorite = Supprimer des favoris
Info = Infos Fichier Info = Infos Fichier
Help = Aide Help = Aide
Tools = Outils Tools = Outils
@ -85,7 +83,7 @@ system = Système
interface = Interface interface = Interface
filesystem = Fichiers filesystem = Fichiers
gba = GBA gba = GBA
patches = Patches patches = paramètres nds-bootstrap
[save type] [save type]
title = Configuration title = Configuration
@ -163,6 +161,8 @@ fr = français
de = deutsch de = deutsch
it = italiano it = italiano
es = español es = español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = Interface utilisateur text = Interface utilisateur
@ -209,6 +209,9 @@ protection = Protection bypass
linkage = Lien GBA linkage = Lien GBA
sd save = Sauvegarder sur microSD sd save = Sauvegarder sur microSD
homebrew reset = Reset in Homebrew homebrew reset = Reset in Homebrew
reset hotkey = Reset Hotkey
rts = Real Time Save
carddma = Card read DMA
[switches] [switches]
Enable = on Enable = on
@ -228,6 +231,7 @@ slow = Faible
title = Paramêtres des fichiers title = Paramêtres des fichiers
show hidden files = Afficher les fichiers cachés show hidden files = Afficher les fichiers cachés
save extension = Extension de la sauvegarde save extension = Extension de la sauvegarde
use saves folder = Utiliser le dossier 'saves'
[interface settings] [interface settings]
title = Interface de réglages title = Interface de réglages
@ -236,11 +240,12 @@ filelist style = Affichage fichiers
oldschool = Simple oldschool = Simple
modern = Icônes modern = Icônes
internal = Internal internal = Internal
small = Small icons
animation = Animation animation = Animation
12 hour = Horaire sur 12 heures 12 hour = Horaire sur 12 heures
[gba settings] [gba settings]
title = GBA settings title = Other settings
sleephack = Veille universelle sleephack = Veille universelle
autosave = Sauvegarde au démarrage autosave = Sauvegarde au démarrage
mode = Slot-2 mode mode = Slot-2 mode
@ -272,7 +277,64 @@ target slot = Slot de destination
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = Flash Memory
microsd card = microSD Card microsd card = microSD Card
slot2 card = Slot2 Card slot2 card = Slot 2 Card
slot1 card = Slot 1 Card
favorites = Favorites favorites = Favorites
[hotkeys]
l-r-a-b-↓ = l-r-a-b-↓
l-r-b-y-↓ = l-r-b-y-↓
l-r-a-b-x-y = l-r-a-b-x-y
b-y-touch = b-y-touch
start-r-touch = start-r-touch
[updater]
update = Update
update ? = Do you want to update?
updater = Update module
menu = Main module
savesize.bin = savesize.bin
cheats = Cheats DB
connecting = Connecting
failed = failed
updated = updated
fresh = already updated
stop = Do you want to stop transfer?
download = Downloaded %d bytes
unpack = Unpacking
[crc32]
crc32 = CRC32
calculation = calcul CRC32
[loader]
text = Utiliser le chargeur ROM
not found = Chargeur non trouvé
error = Error
info = Information
[loading]
load text = S'il vous plaît, attendez…
[nds bootstrap]
text = nds-bootstrap version
item0 = release
item1 = nightly
firsttimetitle = Initialisation de nds-bootstrap
firsttime = Appuyez sur OK pour lancer la première configuration de nds-bootstrap. Cette opération peut prendre une minute et est unique.
dsmode = DS-Only Mode
inimissingtitle = Erreur INI
inimissing = Le fichier ndsbs.ini est manquant dans _nds/akmenunext ou corrompu. Veuillez restaurer ce fichier ou réinstaller akmenu-next.
phatCol = DS Phat Colors
[resethotkey]
text = Boutons de menu
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = Coutume
[end] [end]

View File

@ -1,16 +1,14 @@
// Thanks to Giovanni Zilli // Updated for Wood 1.33 by linoxyard
[font] [font]
main = liberation.pcf main = liberation.pcf
language = 4 language = 4
[start menu] [start menu]
Copy = Copia
Cut = Taglia
Paste = Incolla
Delete = Elimina
Setting = Impostazioni Setting = Impostazioni
Info = File Info Set favorite = Imposta preferito
Unset favorite = Rimuovi dai preferiti
Info = Info File
Help = Aiuto Help = Aiuto
Tools = Strumenti Tools = Strumenti
START = START START = START
@ -22,76 +20,76 @@ ok = OK
cancel = Annulla cancel = Annulla
[progress window] [progress window]
processing save = Elaborazione… Non spegnere! processing save = Salvataggio in corso, non spegnere
processing copy = Copia in corso… Non spegnere! %c per annullare processing copy = Copia in corso, non spegnere, %c per annullare
first use sd = Controllo SD per il primo utilizzo first use sd = Controllo SD per il primo utilizzo
gba load = Caricamento gioco GBA… gba load = Caricamento gioco gba
gba save load = Caricamento salvataggio GBA… gba save load = Caricamento salvataggio gba
gba save store = Elaborazione salvataggio GBA… Non spegnere! gba save store = Salvataggio gba in corso, non spegnere
erase nor = Cancellazigne NOR flash… Non spegnere! erase nor = Cancella la NOR
[copy file error] [copy file error]
title = Errore di copia File title = Errore
text = Il File non esiste. text = Il file non esiste
[copy file exists] [copy file exists]
title = Conferma Incolla File title = Attenzione
text = E' presente un file con lo stesso nome. Sostituirlo? text = Esiste un file con lo stesso nome, sostituirlo?
[copy dest is directory] [copy dest is directory]
title = Errore di Copia Cartella title = Errore
text = Questa cartella contiene già una Cartella con lo stesso nome. Non è possibile copiare il file. text = Esiste una cartella con lo stesso nome, impossibile copiare.
[move dest is directory] [move dest is directory]
title = Errore Spostamento File o Cartella title = Errore
text = Questa cartella contiene già una Cartella con lo stesso nome. Non è possibile spostare il file. text = Esiste una cartella con lo stesso nome, impossibile spostare.
[no copy dir] [no copy dir]
title = Taglia/Incolla Cartella title = Errore
text = Opzione non ancora supportata per le cartelle! text = Impossibile copiare/spostare la cartella.
[stop copying file] [stop copying file]
title = Conferma annullamento Copia File title = Fine copia del file
text = Vuoi annullare la copia del File? text = Vuoi terminare la copia?
[confirm delete file] [confirm delete file]
title = Conferma Eliminazione File/Cartella title = Conferma
text = Il File o la Cartella non potrà essere recuperato, sei sicuro di voler eliminare '%s'? text = Impossibile ripristinare il file dopo la cancellazione di "%s", continuare?
[do not delete directory] [do not delete directory]
title = Errore eliminazione Cartella title = Attenzione
text = Questa Cartella non è vuota, elimina i Files all'interno e riprova. text = Eliminazione annullata.
[restore save fail] [restore save fail]
title = Attenzione! title = Errore
text = Errore nel recupero del salvataggio. text = Impossibile ripristinare il salvataggio.
[language changed] [language changed]
title = Confermi il cambio della Lingua? title = Domanda
text = Vuoi riavviare la console per applicare il cambio della lingua? Scegli "No" per mantenere l'attuale. text = La lingua è stata cambiata, riavviare per applicare le impostazioni? Scegli "No" per riavviare dopo.
[ui style changed] [ui style changed]
title = Confermi il cambio del Tema? title = Domanda
text = Vuoi riavviare la console per applicare il cambio del Tema? Scegli "No" per mantenere l'attuale. text = L'interfaccia è stata cambiata, riavviare per applicare le impostazioni? Scegli "No" per riavviare dopo.
[setting window] [setting window]
ok = OK ok = OK
savetype = Salavataggio savetype = Impostazioni
cancel = Annulla cancel = Annulla
confirm = Conferma confirm = Conferma
confirm text = Salvare impostazioni correnti? confirm text = Salvare le impostazioni correnti?
close = Chiudi close = Chiudi
system = Sistema system = Sistema
interface = Interfaccia interface = Interfaccia
filesystem = File system filesystem = File system
gba = GBA gba = GBA
patches = Patches patches = nds-bootstrap settings
[save type] [save type]
title = Seleziona il tipo di salvataggio title = Impostazioni
text = Tipo salvataggio text = Scegli un tipo di salvataggio
Unknown = Auto Unknown = sconosciuto/auto
No Save = Disattiva No Save = nessuno
4K = 4K 4K = 4K
64K = 64K 64K = 64K
512K = 512K 512K = 512K
@ -102,121 +100,126 @@ No Save = Disattiva
16M = 16M 16M = 16M
32M = 32M 32M = 32M
64M = 64M 64M = 64M
default = Default default = default
save slot = Scegli lo slot save slot = Scegli Slot
tab1 = Compatibility tab1 = Compatibilità
tab2 = Features tab2 = Caratteristiche
[system setting] [system setting]
title = Opzioni di Sistema title = Impostazioni di sistema
safe mode = Safe Mode safe mode = Modalità sicura
[rom info] [rom info]
title = Proprietà Rom title = Informazioni
file date = Ultima modifica: %d/%d/%d %02d:%02d:%02d(GMT) file date = Ultima modifica: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Dimensione: %s file size = Dimensione: %s
save type = Salvataggio: %s save type = Tipo salvataggio: %s
game code = Codice Gioco: %s game code = Codice: %s
copy slot = Copy Slot copy slot = Copia lo Slot
[disk info] [disk info]
total = Capacità Disco: %s total = Capacità Disco: %s
used = Spazio utilizzato: %s used = Spazio Usato: %s
free = Spazio libero: %s free = Spazio Libero: %s
[no free space] [no free space]
title = Errore. Spazio terminato. title = Errore
text = Non c'è abbastanza spazio libero. text = Non c'è spazio sul disco.
[unsupported sd] [unsupported sd]
title = MicroSD non supportata title = SD non supportata
text = Questa MicroSD (Model:%s) non è supportata, copia i programmi dalla microSD all' Acekard Flash Memory e riprova. text = Questa SD (Model:%s) non è adatta all'esecuzione di programmi per DS, si prega di cambiare SD o copiare il file nella memoria interna e provare ancora.
[sd card error] [sd card error]
title = Errore di accesso alla microSD title = Errore SD
text = Impossibile accedere alla microSD, assicuarati che la microSD sia formattata e inserita correttamente. text = Impossibile accedere alla SD, potrebbe non essere inserita correttamente.
[no sd for save] [no sd for save]
title = Nessuna microSD per il salvataggio title = Errore SD
text = Impossibile accedere alla microSD, il salvataggio della partita precedente sarà scritto in '%s'. text = Impossibile accedere alla SD, il salvataggio del programma lanciato prima sarà scritto in questo file: "%s".
[no gba card] [no gba card]
title = Cartuccia GBA non trovata title = Notifica
text = Non è inserita nessuna cartuccia nello SLOT-2 text = Nessuna cartuccia nello SLOT-2
[filelist type] [filelist type]
text = File da visualizzare text = Imposta il tipo di lista file
item0 = NDS item0 = NDS
item1 = NDS + SAV item1 = NDS + SAV
item2 = Tutti item2 = TUTTI
[rom trim] [rom trim]
text = Trimma ROM quando copi text = Trimma rom durante la copia
item0 = Disabilitato item0 = No
item1 = Abilitato item1 =
[language] [language]
text = Lingua del Sistema text = Lingua
ja = 日本語 ja = 日本語
en = english en = English
fr = français fr = Français
de = deutsch de = Deutsch
it = italiano it = Italiano
es = español es = Español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = Tema text = Stile Interfaccia Utente
[help window] [help window]
title = Aiuto title = Informazioni di aiuto
item0 = %c Scelta Programmi item0 = %c Scegli programmi
item1 = %c Sì/Start/OK item1 = %c Start/OK/SI
item2 = %c No/Indietro/Annulla item2 = %c Indietro/Annulla/NO
item3 = %c Vedi file info/Seleziona tipo save item3 = %c Vedi info file/Scegli tipo di salvataggio
item4 = %c Selezione Memoria: microSD/Flash item4 = %c Cambia SD/FLASH o SD/Preferiti
item5 = %c Back to parent directory item5 = %c Ritorna alla root
item6 = %c Regola Luminosità: 1/2/3/4 item6 = %c Imposta Luminosità
item7 = %s Apri "START" Menu item7 = %s Menù Start
item8 = %s Stile Menù nuovo/classico item8 = %s Stile menù nuovo/classico
[exp window] [exp window]
button = 3in1 button = 3in1
title = Impostazioni 3in1 title = Impostazioni 3in1 expansion pack
ram = RAM ram = RAM
sram = sRAM sram = sRAM
off = Spento off = off
low = Basso low = bassa
mid = Medio mid = media
high = Alto high = alta
strength = Livello vibrazione strength = Potenza vibrazione
flash to nor = su NOR flash to nor = Copia in NOR
copy to psram = su RAM copy to psram = Copia in RAM
[abort save] [abort save]
title = Annulla Salvataggio title = Annulla salvataggio
text = Sei sicuro di voler annullare il salvataggio? text = Vuoi annullare il salvataggio in corso?
[gba warn] [gba warn]
title = Attenzione!: Dimensione ROM GBA title = Attenzione
text = Le ROM GBA più grandi di 32M non sono al momento supportate! text = Non sono supportate le rom GBA maggiori di 32M!
[patches] [patches]
download play = DS Download Play download play = Supporto Download Play
cheating system = Cheat/Action Replay cheating system = Codici trucchi(AR)
reset in game = Soft-Reset reset in game = Reset durante il gioco
dma = Modo DMA dma = Modalità DMA
protection = Bypass Protection protection = Bypassa Protezione
linkage = Link with GBA linkage = Link con GBA
sd save = Save directly to SD sd save = Salva direttamente nella SD
homebrew reset = Reset in Homebrew homebrew reset = Reset durante l'Homebrew
reset hotkey = Combinazione di Reset
rts = Real Time Save
carddma = Card read DMA
[switches] [switches]
Enable = Abilita Enable = on
Disable = Disabilita Disable = off
Global = Globali(%s) Global = globale(%s)
[ram allocation] [ram allocation]
title = Errore RAM title = Errore
memory allocation error = Errore di allocazione della memoria memory allocation error = Errore di allocazione della memoria
[scrolling] [scrolling]
@ -225,54 +228,113 @@ medium = Medio
slow = Lento slow = Lento
[file settings] [file settings]
title = Impostazioni dei files title = Impostazioni file system
show hidden files = Mostra files nascosti show hidden files = Mostra file nascosti
save extension = Estensione save extension = Estensione del salvataggio
use saves folder = Usa cartella 'saves'
[interface settings] [interface settings]
title = Impostazioni dell'Interfaccia title = Impostazioni interfaccia
scrolling speed = Velocità scorrimento scrolling speed = Velocità di scorrimento
filelist style = Stile vista filelist style = Stile della lista dei file
oldschool = Old school oldschool = Vecchia scuola
modern = Moderno modern = Moderno
internal = Nome Interno internal = Interno
small = Small icons
animation = Animazione animation = Animazione
12 hour = 12-hour clock 12 hour = Orologio 12-ore
[gba settings] [gba settings]
title = Impostazioni GBA title = Altre impostazioni
sleephack = Universal sleep sleephack = Sleep Universale
autosave = Backup salvataggio all'avvio autosave = Backup del salvataggio all'avvio
mode = Slot-2 mode mode = Modalità Slot-2
modegba = gba modegba = gba
modends = nds modends = nds
modeask = ask modeask = chiedi
modetext = Launch slot-2 in NDS mode? modetext = Avviare lo slot-2 in modalità NDS?
[sd save] [sd save]
title = Warning title = Attenzione
text = This game cannot be launched from Acekard Internal Flash Memory, please copy game from Acekard Internal Flash Memory to SD card and try again. text = Questo gioco non può essere avviato dalla memoria interna, si prega di copiare il file nella SD e provare ancora.
[icon] [icon]
icon = Show icon icon = Mostra icona
transparent = transparent transparent = trasparente
as is = as is as is = normale
firmware = firmware firmware = firmware
[cheats] [cheats]
title = Cheats title = Codici
info = More info = Altro
deselect = Deselect all deselect = Deseleziona
[saveslot] [saveslot]
title = Copia Save Slot title = Copia Slot Salvataggio
confirm = Sei sicuro di voler copiare il save slot? confirm = Sei sicuro di voler copiare lo slot?
target slot = Save Slot di destinazione target slot = Slot Salvataggio di destinazione
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = Memoria Flash
microsd card = microSD Card microsd card = MicroSD
slot2 card = Slot2 Card slot2 card = Slot 2
favorites = Favorites slot1 card = Slot 1
favorites = Preferiti
[hotkeys]
l-r-a-b-↓ = l-r-a-b-↓
l-r-b-y-↓ = l-r-b-y-↓
l-r-a-b-x-y = l-r-a-b-x-y
b-y-touch = b-y-tocco
start-r-touch = start-r-tocco
[updater]
update = Aggiorna
update ? = Vuoi aggiornare?
updater = Modulo di aggiornamento
menu = Modulo principale
savesize.bin = savesize.bin
cheats = Database dei Codici
connecting = Connessione in corso
failed = Aggiornamento fallito
updated = File aggiornato
fresh = Il file è già aggiornato
stop = Vuoi interrompere il trasferimento?
download = Scaricati %d byte
unpack = Decompressione
[crc32]
crc32 = CRC32
calculation = Calcolo del CRC32 in Corso
[loader]
text = Utilizzare il caricatore ROM
not found = Caricatore non trovato
error = Error
info = Information
[loading]
load text = Attendere prego…
[nds bootstrap]
text = nds-bootstrap version
item0 = release
item1 = nightly
firsttimetitle = Inizializzazione di nds-bootstrap
firsttime = Premere OK per avviare la configurazione iniziale di nds-bootstrap. Questa operazione potrebbe richiedere un minuto ed è un'operazione da eseguire una sola volta.
dsmode = DS-Only Mode
inimissingtitle = Errore INI
inimissing = Il file ndsbs.ini manca da _nds/akmenunext o è danneggiato. Ripristinare questo file o reinstallare akmenu-next.
phatCol = DS Phat Colors
[resethotkey]
text = Pulsanti del menu
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = Costume
[end] [end]

View File

@ -1,278 +0,0 @@
//thanx to helldavide
[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Másolás
Cut = Kivágás
Paste = Beillesztés
Delete = Törlés
Setting = Beállítások
Info = Info
Help = Help
Tools = Eszközök
START = START
[message box]
yes = Igen
no = Nem
ok = OK
cancel = Mégse
[progress window]
processing save = Feldolgozás, ne kapcsolja ki…
processing copy = Fájl másolása,ne kapcsolja ki,nyomjon %c -t a megszakításhoz.
first use sd = SD kártya vizsgálata az első használatra
gba load = GBA játék betöltése
gba save load = GBA játék mentésének betöltése
gba save store = GBA mentés feldolgozása, ne kapcsolja ki…
erase nor = Erase NOR flash
[copy file error]
title = Hiba
text = A fájl nem létezik.
[copy file exists]
title = Warning
text = A fájl a megadott névvel már létezik, felülírja?
[copy dest is directory]
title = Hiba
text = A mappa ezzel a névvel már létezik, a forrásfájlt nem lehet másolni.
[move dest is directory]
title = Hiba
text = A mappa ezzel a névvel már létezik, a forrásfájlt nem lehet áthelyezni.
[no copy dir]
title = Hiba
text = A mappa másolása vagy áthelyezése nem lehetséges.
[stop copying file]
title = Másolás megszakítása
text = Megszeretné állítani másolást?
[confirm delete file]
title = Megerősítés
text = A fájlt nem lehet visszaállítani törlés után, folytatja a törlést "%s"?
[do not delete directory]
title = Warning
text = A mappa nem üres, ezért nem lehet törölni.
[restore save fail]
title = Hiba
text = A mentés visszaállítása sikertelen.
[language changed]
title = Kérdés
text = A rendszer nyelvi beállítása megváltozott,újraindítja a beállítások alkalmazásához? Későbbi újrainditáshoz válassza a Nem-et.
[ui style changed]
title = Kérdés
text = A felület típusa megváltozott, az alkalmazásához újraindítja? Válassza a Nem-et ha meg akarja tartani a jelenlegit.
[setting window]
ok = OK
savetype = Beállítások
cancel = Mégse
confirm = Megerősítés
confirm text = Menti a jelenlegi beállításokat?
close = Bezárás
system = Rendszer
interface = Interfész
filesystem = Fájlrendszer
gba = GBA
patches = Javítások
[save type]
title = Beállítások
text = Mentési típus kiválasztása
Unknown = ismeretlen/auto
No Save = nincs mentése
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = alapértelmezett
save slot = Válassza ki a mentési slot-ot
tab1 = Kompatibilitás
tab2 = Jellemzők
[system setting]
title = Rendszerbeállítások
safe mode = Biztonságos mód
[rom info]
title = Fájl Információ
file date = Utolsó mósosítás: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Fájl méret: %s
save type = Mentés típusa: %s
game code = Kód: %s
copy slot = Másolás Slot
[disk info]
total = Kapacitás: %s
used = Foglalt terület : %s
free = Szabad terület: %s
[no free space]
title = Hiba
text = Nincs elég szabad hely.
[unsupported sd]
title = Nem támogatott SD kártya
text = Ez az SD kártya(Model:%s) nem alkalmas hivatalos DS programok futtatására, kérlek másolja az SD kártyáról az Acekard Internal Flash Memory-ba és próbálja újra.
[sd card error]
title = SD kártya hiba
text = Nem lehet hozzáférni az DS kártyához, talán nincs rendesen behelyezve.
[no sd for save]
title = SD kártya hiba
text = Nem lehet hozzáférni az DS kártyához, a futtatott program kíírodik egy fájlba: "%s".
[no gba card]
title = Megjegyzés
text = Nincs eszköz a SLOT-2-ben.
[filelist type]
text = Megjelenítendő típusok
item0 = NDS
item1 = NDS + SAV
item2 = Összes
[rom trim]
text = Tömörítés másolás alatt.
item0 = Nem
item1 = Igen
[language]
text = Nyelv
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = Felhasználói felület stílusa
[help window]
title = Help Információ
item0 = %c Programok kiválasztása
item1 = %c Start/OK/Igen
item2 = %c Vissza/Mégse/Nem
item3 = %c Fájl infó megtekintése/Mentési típus kiválasztása
item4 = %c SD/FLASH váltása
item5 = %c Vissza a szülökönyvtárba
item6 = %c Fényerő Szabályozás
item7 = %s Start Menü
item8 = %s Menü stílus új/klasszikus
[exp window]
button = 3in1
title = 3in1 expansion pack beállítások
ram = RAM
sram = sRAM
off = ki
low = alacsony
mid = közepes
high = magas
strength = Rezgés ereje
flash to nor = to NOR
copy to psram = to RAM
[abort save]
title = Mentési folyamat megszakítása
text = Meg akarja szakítani a mentést?
[gba warn]
title = Warning
text = GBA romok mérete meghaladja a 32M, nem támogatott!
[patches]
download play = Single Card Play
cheating system = Csalás a játékban(AR)
reset in game = Inicializálás
dma = DMA mód
protection = Kikerülésvédelem
linkage = összekapcsolás GBA-val
sd save = Mentés közvetlenül SD-re.
homebrew reset = Reset in Homebrew
[switches]
Enable = Be
Disable = Ki
Global = global(%s)
[ram allocation]
title = Hiba
memory allocation error = Memóriakiosztásia hiba
[scrolling]
fast = Gyors
medium = Közepes
slow = Lassú
[file settings]
title = Fájlrendszer beállítások
show hidden files = Rejtett fájlok megjelenítése
save extension = Mentés kiterjesztése
[interface settings]
title = Felület beállítása
scrolling speed = Görgetési sebesség
filelist style = Fájllista stílus
oldschool = Old school
modern = Modern
internal = Internal
animation = Animáció
12 hour = 12 órás formátum
[gba settings]
title = GBA beállítások
sleephack = Készenlét (sleep)
autosave = Automatikus mentés
mode = Slot-2 mód
modegba = gba
modends = nds
modeask = kérdezze meg
modetext = Futtatja a slot-2-őt NDS módban?
[sd save]
title = Warning
text = Ez a játék nem futtatható Acekard Internal Flash Memory-ról, Kérjük másolja Acekard Internal Flash Memory-ba az SD kártyára és próbálja újra…
[icon]
icon = Ikon mutatása
transparent = átlátszó
as is = as is
firmware = firmware
[cheats]
title = Csalások
info = Még…
deselect = Törlés
[saveslot]
title = Másolandó save slot
confirm = Biztosan másolni akarja a save slot-ba?
target slot = Cél save slot
[mainlist]
flash memory = Flash memória
microsd card = microSD kártya
slot2 card = Slot2 kártya
favorites = Kedvencek
[end]

View File

@ -1,278 +0,0 @@
// Thanks to DjoeN for the translation. (Almost) completely rewritten by MrDiesel.
[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Kopiëren
Cut = Knippen
Paste = Plakken
Delete = Verwijderen
Setting = Instellingen
Info = Bestandsinfo
Help = Help
Tools = Gereedschap
START = START
[message box]
yes = Ja
no = Nee
ok = Oké
cancel = Annuleren
[progress window]
processing save = Verwerken… Schakel de DS niet uit
processing copy = Bezig met kopieren… Schakel de DS niet uit. Annuleer met %c
first use sd = Controle van SD kaart voor eerste gebruik
gba load = GBA game laden…
gba save load = GBA save laden…
gba save store = Verwerken van gba save… Schakel de DS niet uit
erase nor = Wis NOR flash
[copy file error]
title = Bestand kopiëren
text = Het bestand bestaat niet
[copy file exists]
title = Bestand kopiëren
text = Een bestand met dezelfde naam bestaat al. Overschrijven?
[copy dest is directory]
title = Bestand kopiëren
text = Een map met dezelfde naam bestaat al. Kan het bestand niet kopieren.
[move dest is directory]
title = Bestand kopiëren
text = Een map met dezelfde naam bestaat al. Kan het bestand niet verplaatsen.
[no copy dir]
title = Map kopiëren
text = Het kopiëren van een map is momenteel niet mogelijk.
[stop copying file]
title = Bestand kopiëren
text = Wilt u stoppen met kopiëren?
[confirm delete file]
title = Bestand verwijderen
text = Het verwijderen kan niet ongedaan gemaakt worden. Toch doorgaan (%s)?
[do not delete directory]
title = Map verwijderen
text = Kan de map niet verwijderen. De map is niet leeg.
[restore save fail]
title = Herstel van save data
text = Herstellen van save data mislukt.
[language changed]
title = Systeemtaal gewijzigd
text = Wilt u herstarten om de wijzigingen toe te passen? "Nee", later herstarten.
[ui style changed]
title = Gebruikersinterface gewijzigd
text = Wilt u herstarten om de wijzigingen toe te passen? "Nee", later herstarten.
[setting window]
ok = Oké
savetype = Instellingen
cancel = Annuleren
confirm = Bevestigen
confirm text = Huidige instellingen bewaren?
close = Sluiten
system = Systeem
interface = Interface
filesystem = Bestandssysteem
gba = GBA
patches = Patches
[save type]
title = Instellingen
text = Kies een savetype
Unknown = onbekend/auto
No Save = geen save
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = Standaard
save slot = Kies save-slot
tab1 = Compatibiliteit
tab2 = Opties
[system setting]
title = Systeeminstellingen
safe mode = Safe Mode
[rom info]
title = Bestandsinformatie
file date = Laatst gewijzigd: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Bestandsgrootte: %s
save type = Savetype: %s
game code = Code: %s
copy slot = Slot kopiëren
[disk info]
total = Totale grootte: %s
used = Gebruikte ruimte: %s
free = Beschikbare ruimte: %s
[no free space]
title = Fout
text = Te weinig beschikbare ruimte op uw microSD kaart.
[unsupported sd]
title = Incompatibele microSD kaart
text = Uw microSD kaart (Model: %s) is niet geschikt voor officiële DS programma's.
[sd card error]
title = MicroSD kaart fout
text = Geen toegang tot microSD kaart. MicroSD kaart goed aangesloten?
[no sd for save]
title = MicroSD kaart fout
text = Geen toegang tot microSD kaart. De savegegevens van laatst uitgevoerde programma zullen worden geschreven naar het bestand "%s".
[no gba card]
title = Geen GBA kaart
text = Er is geen apparaat gedetecteerd in SLOT-2.
[filelist type]
text = Bestandenlijst
item0 = NDS
item1 = NDS + SAV
item2 = ALLES
[rom trim]
text = ROM trimmen bij het kopiëren
item0 = Nee
item1 = Ja
[language]
text = Taal
ja = 日本語
en = English
fr = Français
de = Deutsch
it = Italiano
es = Español
[ui style]
text = Gebruikersinterface stijl
[help window]
title = Help-informatie
item0 = %c Selecteer Programma's
item1 = %c Start/OK/Ja
item2 = %c Terug/Annuleer/Nee
item3 = %c Bestandsinfo bekijken/Kies savetype
item4 = %c Schakel tussen microSD/FLASH
item5 = %c Terug naar hoofdmap
item6 = %c Helderheid aanpassen
item7 = %s Startmenu
item8 = %s Menustijl nieuw/klassiek
[exp window]
button = 3in1
title = 3in1 uitbreidingspakket instellingen
ram = RAM
sram = sRAM
off = uit
low = laag
mid = gemiddeld
high = hoog
strength = Rumble sterkte
flash to nor = naar NOR
copy to psram = naar RAM
[abort save]
title = Save verwerken
text = Wilt u het saven afbreken?
[gba warn]
title = GBA ROM te groot
text = GBA ROM's groter dan 32M worden niet ondersteund.
[patches]
download play = Single Card Play
cheating system = Cheat Ingame (AR)
reset in game = Reset Ingame
dma = DMA mode
protection = Omzeil protectie
linkage = Link met GBA
sd save = Rechtstreeks opslaan naar microSD
homebrew reset = Reset in Homebrew
[switches]
Enable = aan
Disable = uit
Global = globaal(%s)
[ram allocation]
title = Fout
memory allocation error = Geheugenfout
[scrolling]
fast = Snel
medium = Gemiddeld
slow = Traag
[file settings]
title = Bestandsysteem instellingen
show hidden files = Toon verborgen bestanden
save extension = Save Extensie
[interface settings]
title = Interface instellingen
scrolling speed = Scroll snelheid
filelist style = Bestandslijst stijl
oldschool = Old school
modern = Modern
internal = Intern
animation = Animatie
12 hour = 12-hour clock
[gba settings]
title = GBA instellingen
sleephack = Universele sleep
autosave = Back-up maken van save bij het opstarten
mode = SLOT-2 mode
modegba = gba
modends = nds
modeask = vragen
modetext = SLOT-2 in NDS-mode starten?
[sd save]
title = Spel vanaf flashgeheugen
text = Het spel kan niet worden gestart vanuit het interne flashgeheugen van de R4. Kopieer het spel terug naar de microSD kaart om verder te gaan.
[icon]
icon = Icoon tonen
transparent = doorzichtig
as is = zoals het is
firmware = firmware
[cheats]
title = Cheats
info = Meer…
deselect = Deselect all
[saveslot]
title = Save-slot kopiëren
confirm = Wilt u het save-slot kopiëren?
target slot = Welk save-slot?
[mainlist]
flash memory = Flash Memory
microsd card = microSD Card
slot2 card = Slot2 Card
favorites = Favorites
[end]

View File

@ -1,278 +0,0 @@
//thanx to sniperdmaa
[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Copiar
Cut = Recortar
Paste = Colar
Delete = Deletar
Setting = Opções do sistema
Info = Detalhes
Help = Ajuda
Tools = Ferramentas
START = START
[message box]
yes = Sim
no = Não
ok = OK
cancel = Cancelar
[progress window]
processing save = Processando… Não desligue!
processing copy = Copiando arquivo…Não desligue! %c para cancelar!
first use sd = Verificando cartão SD para ser usado pela primeira vez…
gba load = Carregando jogo de GBA…
gba save load = Carregando save de GBA…
gba save store = Processando save de GBA… Não desligue!
erase nor = Apagando NOR flash… Não desligue!
[copy file error]
title = Erro copiando arquivo ou pasta.
text = O arquivo ou pasta não existe.
[copy file exists]
title = Confirmar substituição do arquivo
text = Esta pasta já contém um arquivo com o mesmo nome. Gostaria de substituir o arquivo existente por este?
[copy dest is directory]
title = Erro copiando arquivo ou pasta.
text = Já existe uma pasta com o mesmo nome. Não é possivel copiar o arquivo.
[move dest is directory]
title = Erro movendo arquivo ou pasta.
text = Já existe uma pasta com o mesmo nome. Não é possivel mover o arquivo.
[no copy dir]
title = Erro copiado/colando pasta.
text = Copiar/colar pasta não é suportado agora!
[stop copying file]
title = Confirmar o cancelamento da cópia de arquivo.
text = Tem certeza que deseja cancelar a cópia do arquivo?
[confirm delete file]
title = Confirmar apagar arquivo/pasta.
text = Este Arquivo/pasta não poderá ser restaurado após deletado, tem certeza que deseja deletar "%s"?
[do not delete directory]
title = Erro deletando pasta.
text = Esta pasta não está vazia, delete o conteúdo da pasta e tente novamente.
[restore save fail]
title = Falha na restauração do arquivo de save.
text = O arquivo de save não pôde ser restaurado.
[language changed]
title = Confirmar mudança de linguagem do sistema.
text = Tem certeza que deseja reiniciar agora e aplicar a mudança de linguagem do sistema? Escolha "Não" para reiniciar depois.
[ui style changed]
title = Confirmar mudança de interface.
text = Tem certeza que deseja reiniciar agora e aplicar a mudança no tema da interface? Escolha "Não" para manter o tema atual.
[setting window]
ok = OK
savetype = Configurações
cancel = Cancelar
confirm = Confirmar
confirm text = Salvar configurações?
close = Fechar
system = Sistema
interface = Interface
filesystem = Sistema de Arquivos
gba = GBA
patches = Patches
[save type]
title = Selecionar tipo de save
text = Tipo de save
Unknown = Auto/Desc.
No Save = Sem save
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = Padrão
save slot = Selecionar Slot do Save
tab1 = Compatibilidade
tab2 = Funcionalidades
[system setting]
title = Configurações do sistema
safe mode = Safe Mode
[rom info]
title = Detalhes do Arquivo
file date = Última Alteração: %d%d%d %02d:%02d:%02d(GMT)
file size = Tamanho do Arquivo: %s
save type = Tipo de Save: %s
game code = Código: %s
copy slot = Copiar Slot
[disk info]
total = Capacidade do disco: %s
used = Espaço utilizado: %s
free = Espaço livre: %s
[no free space]
title = Erro, não há espaço suficiente!
text = Não há espaço suficiente em disco.
[unsupported sd]
title = Cartão MicroSD não suportado
text = Este modelo de cartão MicroSD não é compatível para rodar programas oficiais para DS, por favor copie o programa do cartão SD para a memória flash do Acekard e tente novamente.
[sd card error]
title = Erro acessando cartão MicroSD
text = Não foi possível acessar o cartão MicroSD, por favor verifique se o cartão MicroSD está formatado e inserido corretamente.
[no sd for save]
title = Sem MicroSD para guardar dados
text = Não foi possível acessar o cartão Micro SD, dados de programas utilizados serão escritos na pasta "%s"
[no gba card]
title = Erro, não há cartucho de GBA
text = Não há dispositivo no Slot-2.
[filelist type]
text = Selecione o tipo de lista
item0 = NDS
item1 = NDS + SAV
item2 = TODOS
[rom trim]
text = Trimmar ROM ao copiar
item0 = Desabilitado
item1 = Habilitado
[language]
text = Interface de linguagem
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = Tema de interface
[help window]
title = Informação de Ajuda
item0 = %c Selecionar Programas
item1 = %c Início/OK/Sim
item2 = %c Voltar/Cancelar/Não
item3 = %c Informação do arquivo/Tipo de Save
item4 = %c Seleção de memória: MicroSD/Flash
item5 = %c Voltar ao diretório anterior
item6 = %c Ajustar Brilho: 1/2/3/4
item7 = %s Abrir Menu
item8 = %s Estilo da lista: Gráfico/Numérico
[exp window]
button = 3em1
title = Configuração de Pacote de Expansão 3em1
ram = RAM
sram = SRAM
off = Desligado
low = Baixo
mid = Médio
high = Alto
strength = Nível da vibração (Rumble)
flash to nor = Modo NOR
copy to psram = Modo RAM
[abort save]
title = Cancelar processo de salvamento?
text = Tem certeza que deseja cancelar o processo?
[gba warn]
title = Cuidado com o tamanho da ROM de GBA!
text = ROM de GBA maior que 32M não é suportada!
[patches]
download play = Jogar com único Jogo
cheating system = Cheat InGame(AR)
reset in game = Soft-Reset
dma = Modo DMA
protection = Ignorar Proteção
linkage = Link com GBA
sd save = Salvar diretamente no SD
homebrew reset = Reset in Homebrew
[switches]
Enable = Habilitado
Disable = Desabilitado
Global = Global
[ram allocation]
title = Erro!
memory allocation error = Erro de alocação de memória
[scrolling]
fast = Rápido
medium = Médio
slow = Lento
[file settings]
title = Configurações de Sistema de Arquivos
show hidden files = Exibir arquivos ocultos
save extension = Extensão de save
[interface settings]
title = Configurações de Interface
scrolling speed = Velocidade do Scroll
filelist style = Estilo de listagem de arquivos
oldschool = Old school
modern = Moderno
internal = Interno
animation = Animação
12 hour = 12-hour clock
[gba settings]
title = Configurações GBA
sleephack = Modo dormir GBA
autosave = Criar backup do save de GBA ao iniciar
mode = Slot-2 mode
modegba = gba
modends = nds
modeask = ask
modetext = Launch slot-2 in NDS mode?
[sd save]
title = Aviso
text = Este jogo não pode ser iniciado apartir da Memória Flash Interna do R4/M3, favor copiar o jogo sa Memória Interna do R4/M3 para o cartão SD e tente novamente.
[icon]
icon = Mostrar ícone
transparent = Transparente
as is = Sem alteração
firmware = Firmware
[cheats]
title = Cheats
info = Mais…
deselect = Deselect all
[saveslot]
title = Copiar Save Slot de Origem
confirm = Tem certeza que deseja copiar o save do slot?
target slot = Salvar Save Slot de Destino
[mainlist]
flash memory = Flash Memory
microsd card = microSD Card
slot2 card = Slot2 Card
favorites = Favorites
[end]

View File

@ -1,278 +0,0 @@
//thanx to Attila13, http://gbatemp.net/index.php?showuser=264630
[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Copiază
Cut = Taie
Paste = Lipeşte
Delete = Şterge
Setting = Setări
Info = Informaţie
Help = Ajutor
Tools = Unelte
START = START
[message box]
yes = Da
no = Nu
ok = OK
cancel = Anulează
[progress window]
processing save = Procesare, nu opriţi…
processing copy = Copiere fişier, nu opriţi,apăsaţi %c pentru a întrerupe.
first use sd = Analizare card SD pentru prima folosire
gba load = Încărcare joc GBA
gba save load = Încărcarea salvării jocului GBA
gba save store = Procesare salvare GBA, nu opriţi…
erase nor = Şterge NOR flash
[copy file error]
title = Eroare
text = Fişierul nu există.
[copy file exists]
title = Avertizare
text = Există deja un fişier cu acest nume, suprascrieţi?
[copy dest is directory]
title = Eroare
text = Un director cu acelaşi nume există deja, fişierul sursă nu se poate copia.
[move dest is directory]
title = Eroare
text = Un director cu acelaşi nume există deja, fişierul sursă nu se poate muta.
[no copy dir]
title = Eroare
text = Copierea sau mutarea directorului nu se poate executa.
[stop copying file]
title = Întrerupere copiere
text = Aţ dori să opriţi copierea?
[confirm delete file]
title = Confirmare
text = Fişierul nu se poate recupera dupa ştergere, continuaţi ştergerea "%s"?
[do not delete directory]
title = Avertizare
text = Directorul nu este gol, nu se poate şterge.
[restore save fail]
title = Eroare
text = Recuperarea datelor salvate eşuată.
[language changed]
title = Întrebare
text = Setările limbii de sistem sau schimbat, reporniţi pentru aplicarea setărilor? Pentru a reporni mai târziu apăsaţi “Nu”.
[ui style changed]
title = Întrebare
text = Interfaţa stilului s-a schimbat, reporniţi pentru aplicarea acesteia? Apasaţi “Nu” pentru a lăsa stilul current.
[setting window]
ok = OK
savetype = Setări
cancel = Anulează
confirm = Confirmare
confirm text = Salvaţi setările curente?
close = Închide
system = Sistem
interface = Interfaţă
filesystem = Sistem de fişiere
gba = GBA
patches = Patch-uri
[save type]
title = Setări
text = Alege tipul de salvare
Unknown = necunoscut/auto
No Save = fără salvare
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = Implicit
save slot = Alege slotul de salvare
tab1 = Compatibilitate
tab2 = Caracteristici
[system setting]
title = Setări de Sistem
safe mode = Mod Sigur
[rom info]
title = Informaţie Fişier
file date = Ultima schimbare: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Dimensiune Fişier: %s
save type = Tip Salvare: %s
game code = Cod: %s
copy slot = Copiere Slot
[disk info]
total = Capacitate: %s
used = Spaţiu Ocupat : %s
free = Spaţiu Liber: %s
[no free space]
title = Eroare
text = Nu este spaţiu suficient.
[unsupported sd]
title = Card SD neacceptat
text = Cardul SD(Model:%s) nu este adecvat săvruleze programe DS oficiale, vă rugăm să copiaţi de pe cardul SD pe Acekard Internal Flash Memory şi încercaţi din nou.
[sd card error]
title = Eroare card SD
text = Nu se poate accesa cardul SD , poate nu este introdus corect.
[no sd for save]
title = Eroare card SD
text = Nu se poate accesa cardul SD, datele salvării programului lansat precedent va fi scrisaă la fisierul: "%s".
[no gba card]
title = Notificare
text = Ne este dispozitiv în SLOT-2.
[filelist type]
text = Setează tipurile de fişiere
item0 = NDS
item1 = NDS + SAV
item2 = Toate
[rom trim]
text = Comprimare ROM la copiere.
item0 = Nu
item1 = Da
[language]
text = Limbă
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = Interfaţă stil
[help window]
title = Informaţie Ajutor
item0 = %c Alegere Programe
item1 = %c Start/OK/Da
item2 = %c Înapoi/Anulare/Nu
item3 = %c Vezi informaţie fişier/Alegere tip salvare
item4 = %c Alegere SD/FLASH
item5 = %c Înapoi la directorul părinte
item6 = %c Reglare Luminozitate
item7 = %s Meniu de Start
item8 = %s Stil meniu nou/classic
[exp window]
button = 3in1
title = Setări 3in1 expansion pack
ram = RAM
sram = sRAM
off = neactiv
low = mic
mid = mediu
high = mare
strength = Putere vibraţie
flash to nor = la NOR
copy to psram = la RAM
[abort save]
title = Întreruper proces de salvare
text = Vreţi să opriţi procesul de salvare?
[gba warn]
title = Avertizare
text = Mărimea ROM-urilor GBA care depăşesc 32M, nu sunt suportate!
[patches]
download play = Single Card Play
cheating system = Trişare în joc(AR)
reset in game = Resetare în joc
dma = Mod DMA
protection = Bypass protecţie
linkage = Leagă cu GBA
sd save = Salvează direct pe cardul SD
homebrew reset = Resetare în Homebrew
[switches]
Enable = Activ
Disable = Neactiv
Global = global(%s)
[ram allocation]
title = Eroare
memory allocation error = Eroare la alocarea de memorie
[scrolling]
fast = Rapid
medium = Mediu
slow = Încet
[file settings]
title = Setări sistem de fişiere
show hidden files = Arată fişierele ascunse
save extension = Extensie salvare
[interface settings]
title = Setări interfaţă
scrolling speed = Viteză de defilare
filelist style = Stilul listei de fişiere
oldschool = Old school
modern = Modern
internal = Internal
animation = Animaţie
12 hour = Mod de 12 ore
[gba settings]
title = Setări GBA
sleephack = Somn universal(sleep)
autosave = Salvare automată
mode = mod Slot-2
modegba = gba
modends = nds
modeask = Întreabă
modetext = Lansaţi slot-2 în mod NDS?
[sd save]
title = Avertizare
text = Acest joc nu se poate lansa de pe Acekard Internal Flash Memory. Vă rugăm să copiaţi de pe Acekard Internal Flash Memory pe cardul SD şi încercaţi din nou.
[icon]
icon = afişează pictograma
transparent = transparent
as is = as is
firmware = firmware
[cheats]
title = Trişare
info = Mai mult…
deselect = Deselectare
[saveslot]
title = Slot salvare de copiat
confirm = Sigur vreţi să copiaţi slotul de salvare?
target slot = Slot salvare ţintă
[mainlist]
flash memory = Memorie Flash
microsd card = Card microSD
slot2 card = Card Slot2
favorites = Favoriţi
[end]

View File

@ -1,278 +0,0 @@
// Thanks to Issac for the translation.
[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Kopiera
Cut = Klipp ut
Paste = Klistra in
Delete = Ta bort
Setting = Inställningar
Info = Filinformation
Help = Hjälp
Tools = Verktyg
START = START
[message box]
yes = Ja
no = Nej
ok = OK
cancel = Avbryt
[progress window]
processing save = Sparar, stäng inte av
processing copy = Kopierar fil, stäng inte av, %c för att avbryta
first use sd = Kontrollerar SD-kortet för förstagångsanvändning
gba load = Laddar GBA-spel
gba save load = Laddar GBA-sparning
gba save store = Sparar GBA-sparning, stäng inte av
erase nor = Rensa NOR-flash
[copy file error]
title = Fel
text = Filen existerar inte
[copy file exists]
title = Varning
text = En fil med samma namn finns redan, vill du ersätta den?
[copy dest is directory]
title = Fel
text = En mapp med samma namn finns redan, kan inte kopiera källfilen.
[move dest is directory]
title = Fel
text = En mapp med samma namn finns redan, kan inte flytta källfilen.
[no copy dir]
title = Fel
text = Mappkopiering / -flyttning är inte tillämpat än.
[stop copying file]
title = Avbryt kopiering av fil
text = Vill du avbryta kopieringen?
[confirm delete file]
title = Är du säker
text = Filen kan inte återställas när du tagit bort den, vill du fortsätta "%s"?
[do not delete directory]
title = Varning
text = Mappen är inte tom, kan därför inte ta bort den.
[restore save fail]
title = Fel
text = Misslyckades med återställning av den sparade datan.
[language changed]
title = Fråga
text = Systemspråket ändrat, starta om nu för att aktivera de nya inställningarna? Välj "Nej" för att starta om senare.
[ui style changed]
title = Fråga
text = Användargränssnittsstilen ändrades, starta om nu för att aktivera de nya inställningarna? Välj "Nej" för att starta om senare.
[setting window]
ok = OK
savetype = Inställningar
cancel = Avbryt
confirm = Är du säker
confirm text = Spara nuvarande inställningar?
close = Stäng
system = System
interface = Gränssnitt
filesystem = Filsystem
gba = GBA
patches = Patchar
[save type]
title = Inställningar
text = Välj en spartyp
Unknown = okänd/auto
No Save = ingen sparning
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = standard
save slot = Välj en spar-slot
tab1 = Kompatibilitet
tab2 = Finesser
[system setting]
title = Systeminställningar
safe mode = Safe Mode
[rom info]
title = Filinformation
file date = Senast ändrad: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Filstorlek: %s
save type = Spartyp: %s
game code = Kod: %s
copy slot = Kopiera spar-slot
[disk info]
total = Total kapacitet: %s
used = Använt utrymme: %s
free = Ledigt utrymme: %s
[no free space]
title = Fel
text = Det finns inte tillräckligt med utrymme på minnet.
[unsupported sd]
title = Fel typ av SD-kort
text = Detta SD-kort (Modell:%s) passar inte för att köra officiella DS-program, var god kopiera programmet från SD-kortet till det inbyggda Acekard-flashminnet och försök igen.
[sd card error]
title = SD-kortfel
text = Kan inte komma åt SD-kortet, det kanske sitter i fel?
[no sd for save]
title = SD-kortfel
text = Kan inte komma åt SD-kortet, spardata för senast körda program kommer att skrivas till filen: "%s".
[no gba card]
title = Observera
text = Det finns ingenting i SLOT-2
[filelist type]
text = Välj filer att visa
item0 = NDS
item1 = NDS + SAV
item2 = ALLT
[rom trim]
text = Trimma rom:en vid kopiering
item0 = Nej
item1 = Ja
[language]
text = Språk
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = Användargränssnittsstil
[help window]
title = Hjälpinformation
item0 = %c Välj program
item1 = %c Starta/OK/JA
item2 = %c Tillbaka/Avbryt/NEJ
item3 = %c Se filinformation / Välj spartyp
item4 = %c Växla mellan SD och FLASH
item5 = %c Tillbaka till parent-mappen
item6 = %c Justera bakggrundsbelysningen
item7 = %s Startmeny
item8 = %s Menystil ny / klassisk
[exp window]
button = 3-in-1
title = 3-in-1 expansion pack inställningar
ram = RAM
sram = sRAM
off = av
low = låg
mid = mellan
high = hög
strength = Skakstyrka
flash to nor = till NOR
copy to psram = till RAM
[abort save]
title = Avbryt sparning
text = Vill du avbryta sparprocessen?
[gba warn]
title = Varning
text = GBA-spel större än 32M stöds inte!
[patches]
download play = Single Card Play
cheating system = In Game-fusk(AR)
reset in game = In Game-reset
dma = DMA läge
protection = Gå förbi kopieringsskydd
linkage = Länka till GBA
sd save = Spara direkt till SD-kortet
homebrew reset = Reset in Homebrew
[switches]
Enable = på
Disable = av
Global = global(%s)
[ram allocation]
title = Fel
memory allocation error = Minnesallokeringsfel
[scrolling]
fast = Snabb
medium = Mellan
slow = Långsam
[file settings]
title = Filsystemsinställningar
show hidden files = Visa dolda filer
save extension = Save extension
[interface settings]
title = Gränssnittsinställningar
scrolling speed = Scrollhastighet
filelist style = Fillistestil
oldschool = Gammaldags
modern = Modern
internal = Intern
animation = Animation
12 hour = 12-hour clock
[gba settings]
title = GBA-inställningar
sleephack = Universalt Viloläge
autosave = Säkerhetskopiera sparfil vid start
mode = Slot-2 mode
modegba = gba
modends = nds
modeask = ask
modetext = Launch slot-2 in NDS mode?
[sd save]
title = Varning
text = Det här spelet kan inte köras från det interna Acekard-flashminnet, kopiera det till SD-kortet och försök igen.
[icon]
icon = Visa ikon
transparent = genomskinlig
as is = som det är
firmware = firmware
[cheats]
title = Fusk
info = Mer…
deselect = Deselect all
[saveslot]
title = Kopiera spar-slot
confirm = Är du säker att du vill kopiera spar-slotten?
target slot = Målspar-slot
[mainlist]
flash memory = Flash Memory
microsd card = microSD Card
slot2 card = Slot2 Card
favorites = Favorites
[end]

View File

@ -1,278 +0,0 @@

[font]
main = liberation.pcf
language = 1
[start menu]
Copy = Копировать
Cut = Вырезать
Paste = Вставить
Delete = Удалить
Setting = Настройки
Info = Информация
Help = Помощь
Tools = Инструменты
START = ПУСК
[message box]
yes = Да
no = Нет
ok = OK
cancel = Отмена
[progress window]
processing save = Обработка, не выключайте питание
processing copy = Копир-ние, не выкл. питание, %c для отмены
first use sd = Тестирование SD карты
gba load = Загрузка gba-игры
gba save load = Загрузка gba-сейва
gba save store = Обработка gba-сейва, не выкл. питание
erase nor = Очистка NOR flash
[copy file error]
title = Ошибка
text = Файла не существует
[copy file exists]
title = Предупреждение
text = Файл с таким именем уже существует, заменить?
[copy dest is directory]
title = Ошибка
text = Папка с таким именем уже существует, не возможно скопировать файл.
[move dest is directory]
title = Ошибка
text = Папка с таким именем уже существует, не возможно переместить файл.
[no copy dir]
title = Ошибка
text = Копирование/перемещение папок не поддерживается.
[stop copying file]
title = Прервать копирование
text = Вы хотите прервать копирование?
[confirm delete file]
title = Подтверждение
text = Выдействительно хотите удалить "%s"?
[do not delete directory]
title = Предупреждение
text = Папка не пустая, невозможно удалить.
[restore save fail]
title = Ошибка
text = Не удалось загрузить сейв.
[language changed]
title = Вопрос
text = Язык системы изменён, перегрузиться сейчас для вступления изменений в силу? Выберите «Нет», чтобы перегрузиться позднее.
[ui style changed]
title = Вопрос
text = Скин изменён, перегрузиться сейчас для вступления изменений в силу? Выберите «Нет» для сохранения текущего скина.
[setting window]
ok = OK
savetype = Опции
cancel = Отмена
confirm = Подтверждение
confirm text = Сохранить текущие настройки?
close = Назад
system = Система
interface = Интерфейс
filesystem = Файлы
gba = GBA
patches = Патчи
[save type]
title = Опции
text = Выберите тип сейва
Unknown = неизв./авто
No Save = нет
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = главный
save slot = Выберите сейв-слот
tab1 = Совместимость
tab2 = Дополнительно
[system setting]
title = Системные настройки
safe mode = Безопасный режим
[rom info]
title = Информация о файле
file date = Дата/Время: %d/%d/%d %02d:%02d:%02d(GMT)
file size = Размер: %s
save type = Тип сейва: %s
game code = Код игры: %s
copy slot = Копировать
[disk info]
total = Объём диска: %s
used = Использовано: %s
free = Свободно: %s
[no free space]
title = Ошибка
text = На диске нет места.
[unsupported sd]
title = SD карта не поддерживается
text = Данная SD карта(Модель:%s) не подходит для запуска официальных DS программ, пожалуйста скопируйте программу на встроенную память и попробуйте ещё раз.
[sd card error]
title = Ошибка SD карты
text = Доступ к SD карте невозможен, возможно она неправильно вставлена.
[no sd for save]
title = Ошибка SD карты
text = Доступ к SD карте невозможен, сейв последней запущенной программыбудет сохранён в файле: "%s".
[no gba card]
title = Уведомление
text = Устройство в SLOT-2 отсутствует
[filelist type]
text = Показывать файлы
item0 = NDS
item1 = NDS + SAV
item2 = Все
[rom trim]
text = Резать ромы при коп-нии
item0 = Нет
item1 = Да
[language]
text = Язык
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = Скин
[help window]
title = Информация
item0 = %c Выбор
item1 = %c Старт/OK/Да
item2 = %c Назад/Отмена/Нет
item3 = %c Информация о файле/Выбор типа сейва
item4 = %c Переключение SD/FLASH
item5 = %c Переход в родительскую папку
item6 = %c Изменение яркости
item7 = %s Меню «Старт»
item8 = %s Стиль меню: новый/классика
[exp window]
button = 3в1
title = Настройки 3in1 expansion pack
ram = RAM
sram = sRAM
off = выкл
low = слабая
mid = средняя
high = высокая
strength = Сила вибрации
flash to nor = в NOR
copy to psram = в RAM
[abort save]
title = Прерывание обработки сейва
text = Вы хотите прервать обработку сейва?
[gba warn]
title = Предупреждение
text = Gba ромы размером более 32M не поддерживаются!
[patches]
download play = Download Play
cheating system = Читы (AR)
reset in game = Софт-ресет
dma = Режим DMA
protection = Обход защиты
linkage = Линк с GBA
sd save = Сохранение прямо на SD
homebrew reset = Софт-ресет в Homebrew
[switches]
Enable = вкл
Disable = выкл
Global = общее(%s)
[ram allocation]
title = Ошибка
memory allocation error = Ошибка выделения памяти
[scrolling]
fast = Быстро
medium = Умеренно
slow = Медленно
[file settings]
title = Настройки файловой системы
show hidden files = Пок-вать скрытые файлы
save extension = Расширение для сейвов
[interface settings]
title = Настройки интерфейса
scrolling speed = Скорость прокрутки
filelist style = Стиль списка файлов
oldschool = Стильно
modern = Гламурно
internal = Информация
animation = Анимация
12 hour = 12-часовой формат времени
[gba settings]
title = Настройки GBA
sleephack = Универсальный режим сна
autosave = Всегда сохранять сейвы
mode = Режим slot-2
modegba = gba
modends = nds
modeask = спрашивать
modetext = Запустить slot-2 в режиме NDS?
[sd save]
title = Предупреждение
text = Эта игра не может быть запущена с встроенной памяти, пожалуйста скопируйте программу на SD карту и попробуйте ещё раз.
[icon]
icon = Показывать иконку
transparent = прозрачной
as is = как есть
firmware = официально
[cheats]
title = Читы
info = Больше
deselect = Очистить
[saveslot]
title = Копировать сейв-слот
confirm = Вы уверены, что хотите скопировать сейв-слот?
target slot = Целевой сейв-слот
[mainlist]
flash memory = Flash Memory
microsd card = microSD Card
slot2 card = Slot2 Card
favorites = Избранное
[end]

View File

@ -5,11 +5,9 @@ main = liberation.pcf
language = 0 language = 0
[start menu] [start menu]
Copy = コピー
Cut = カット
Paste = ペースト
Delete = 削除
Setting = 設定 Setting = 設定
Set favorite = お気に入りに設定
Unset favorite = お気に入りを解除
Info = ファイル詳細 Info = ファイル詳細
Help = ヘルプ Help = ヘルプ
Tools = ツール Tools = ツール
@ -85,7 +83,7 @@ system = システム
interface = インターフェース interface = インターフェース
filesystem = ファイル filesystem = ファイル
gba = GBA gba = GBA
patches = パッチ patches = nds-bootstrap 設定
[save type] [save type]
title = 設定 title = 設定
@ -163,6 +161,8 @@ fr = français
de = deutsch de = deutsch
it = italiano it = italiano
es = español es = español
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = ユーザー設定 スタイル text = ユーザー設定 スタイル
@ -209,6 +209,9 @@ protection = プロテクト回避
linkage = GBAとリンク linkage = GBAとリンク
sd save = SDに直接セーブ sd save = SDに直接セーブ
homebrew reset = Reset in Homebrew homebrew reset = Reset in Homebrew
reset hotkey = Reset Hotkey
rts = Real Time Save
carddma = Card read DMA
[switches] [switches]
Enable = オン Enable = オン
@ -227,7 +230,8 @@ slow = 低速
[file settings] [file settings]
title = ファイルシステムの設定 title = ファイルシステムの設定
show hidden files = 隠しファイルを表示する show hidden files = 隠しファイルを表示する
save extension = Save extension save extension = ファイル拡張子を保存する
use saves folder = saves フォルダを使用する
[interface settings] [interface settings]
title = インターフェイスの設定 title = インターフェイスの設定
@ -236,11 +240,12 @@ filelist style = ファイルリストのスタイル
oldschool = 簡易 oldschool = 簡易
modern = アイコン modern = アイコン
internal = 内部情報 internal = 内部情報
small = Small icons
animation = アニメ animation = アニメ
12 hour = 12-hour clock 12 hour = 12-hour clock
[gba settings] [gba settings]
title = GBA設定 title = その他の設定
sleephack = ユニバーサルスリープ sleephack = ユニバーサルスリープ
autosave = 起動時にセーブをバックアップする autosave = 起動時にセーブをバックアップする
mode = Slot-2 mode mode = Slot-2 mode
@ -273,6 +278,63 @@ target slot = ターゲットセーブスロット
flash memory = Flash Memory flash memory = Flash Memory
microsd card = microSD Card microsd card = microSD Card
slot2 card = Slot2 Card slot2 card = Slot2 Card
slot1 card = Slot1 Card
favorites = Favorites favorites = Favorites
[hotkeys]
l-r-a-b-↓ = l-r-a-b-↓
l-r-b-y-↓ = l-r-b-y-↓
l-r-a-b-x-y = l-r-a-b-x-y
b-y-touch = b-y-touch
start-r-touch = start-r-touch
[updater]
update = Update
update ? = Do you want to update?
updater = Update module
menu = Main module
savesize.bin = savesize.bin
cheats = Cheats DB
connecting = Connecting
failed = failed
updated = updated
fresh = already updated
stop = Do you want to stop transfer?
download = Downloaded %d bytes
unpack = Unpacking
[crc32]
crc32 = CRC32
calculation = CRC32を計算する
[loader]
text = ROMローダーを使用する
not found = ローダーが見つかりません
error = Error
info = Information
[loading]
load text = お待ちください...
[nds bootstrap]
text = nds-bootstrap version
item0 = release
item1 = nightly
firsttimetitle = nds-bootstrapの初期化
firsttime = 「OK」を押すと、nds-bootstrapの初回セットアップが開始されます。このプロセスは1分ほどかかる場合があり、一度だけ実行されます。
dsmode = DS-Only Mode
inimissingtitle = INI エラー
inimissing = ndsbs.ini が _nds/akmenunext に存在しないか、破損しています。このファイルを復元するか、akmenu-next を再インストールしてください。
phatCol = DS Phat Colors
[resethotkey]
text = メニューホットキー
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = カスタム
[end] [end]

View File

@ -10,10 +10,12 @@ Cut = 剪切
Paste = 粘贴 Paste = 粘贴
Delete = 删除 Delete = 删除
Setting = 设置 Setting = 设置
Set favorite = 放入收藏夹
Unset favorite = 移出收藏夹
Info = 文件信息 Info = 文件信息
Help = 帮助信息 Help = 帮助信息
Tools = 工具 Tools = 工具
START = START START = 菜单
[message box] [message box]
yes = 是 yes = 是
@ -85,7 +87,7 @@ system = 系统
interface = 接口 interface = 接口
filesystem = 文件系统 filesystem = 文件系统
gba = GBA gba = GBA
patches = 补丁 patches = nds-bootstrap 设置
[save type] [save type]
title = 设置 title = 设置
@ -105,18 +107,18 @@ No Save = 没有存档
default = 预设 default = 预设
save slot = 选择存档位置 save slot = 选择存档位置
tab1 = 兼容性 tab1 = 兼容性
tab2 = 特殊选项 tab2 = 功能
[system setting] [system setting]
title = 系统选项 title = 系统选项
safe mode = Safe Mode safe mode = 安全模式
[rom info] [rom info]
title = 文件信息 title = 文件信息
file date = 最后写入:%d年%d月%d日 %02d:%02d:%02d(GMT) file date = 最后写入:%d年%d月%d日 %02d:%02d:%02d(GMT)
file size = 文件大小:%s file size = 文件大小:%s
save type = 存档类型:%s save type = 存档类型:%s
game code = Game Code: %s game code = 游戏编码: %s
copy slot = 复制存档 copy slot = 复制存档
[disk info] [disk info]
@ -155,6 +157,16 @@ text = 拷贝时自动裁剪ROM
item0 = 启用 item0 = 启用
item1 = 禁用 item1 = 禁用
[nds bootstrap]
text = nds-bootstrap版本
item0 = 正式版
item1 = 每夜版
firsttimetitle = 初始化 nds-bootstrap
firsttime = 按“确定”开始 nds-bootstrap 的首次设置。此过程可能需要一分钟,并且是一次性过程。
dsmode = DS-Only Mode
inimissingtitle = INI 错误
inimissing = _nds/akmenunext 中缺少 ndsbs.ini 文件或该文件已损坏。请恢复此文件或重新安装 akmenu-next。
[language] [language]
text = 系统语言 text = 系统语言
ja = 日语 ja = 日语
@ -163,6 +175,8 @@ fr = 法语
de = 德语 de = 德语
it = 意大利语 it = 意大利语
es = 西班牙语 es = 西班牙语
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = 界面风格 text = 界面风格
@ -208,7 +222,8 @@ dma = DMA 模式
protection = 自动反烧录 protection = 自动反烧录
linkage = 与GBA联动 linkage = 与GBA联动
sd save = 直接存储至SD卡 sd save = 直接存储至SD卡
homebrew reset = Reset in Homebrew homebrew reset = 在自制程序中复位
carddma = 卡带读取DMA
[switches] [switches]
Enable = 启用 Enable = 启用
@ -227,7 +242,8 @@ slow = 慢
[file settings] [file settings]
title = 文件系统设置 title = 文件系统设置
show hidden files = 显示隐藏文件 show hidden files = 显示隐藏文件
save extension = Save extension save extension = 存档格式
use saves folder = 使用'saves'文件夹
[interface settings] [interface settings]
title = 文件系统设置 title = 文件系统设置
@ -235,18 +251,19 @@ scrolling speed = 滚屏速度
filelist style = 图标风格 filelist style = 图标风格
oldschool = 简洁 oldschool = 简洁
modern = 图标 modern = 图标
small = 小图标
internal = 游戏标题 internal = 游戏标题
animation = 动画 animation = 动画
12 hour = 12-hour clock 12 hour = 12小时制
[gba settings] [gba settings]
title = GBA 设定 title = 其他设置
sleephack = 启用休眠 sleephack = 启用休眠
autosave = 启动时备份存档 autosave = 启动时备份存档
mode = Slot-2 模式 mode = Slot-2 模式
modegba = 引导到gba模式 modegba = GBA模式
modends = nds modends = NDS模式
modeask = ask modeask = ASK模式
modetext = 在 slot-2接口启用NDS模式? modetext = 在 slot-2接口启用NDS模式?
[sd save] [sd save]
@ -261,8 +278,8 @@ firmware = 固件图标
[cheats] [cheats]
title = 金手指 title = 金手指
info = More info = 更多
deselect = Deselect all deselect = 取消选择所有
[saveslot] [saveslot]
title = 存档管理 title = 存档管理
@ -270,9 +287,29 @@ confirm = 你是否想要复制此位置存档?
target slot = 目标存档位置 target slot = 目标存档位置
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = 内置闪存
microsd card = microSD Card microsd card = 内存卡
slot2 card = Slot2 Card slot2 card = Slot2扩展卡
favorites = Favorites slot1 card = Slot1扩展卡
favorites = 收藏夹
[loader]
text = 使用ROM引导器
not found = 找不到引导器
error = 错误
info = 信息
[loading]
load text = 请稍候...
[resethotkey]
text = 菜单热键
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = 风俗
[end] [end]

View File

@ -1,4 +1,4 @@
// Thanks to s223355 for the translation. 
[font] [font]
main = wenquanyi_9pt.pcf main = wenquanyi_9pt.pcf
@ -10,6 +10,8 @@ Cut = 剪下
Paste = 貼上 Paste = 貼上
Delete = 刪除 Delete = 刪除
Setting = 設定 Setting = 設定
Set favorite = 設為喜愛的
Unset favorite = 取消設為喜愛的
Info = 檔案資訊 Info = 檔案資訊
Help = 說明 Help = 說明
Tools = 工具 Tools = 工具
@ -85,7 +87,7 @@ system = 系統
interface = 介面 interface = 介面
filesystem = 檔案系統 filesystem = 檔案系統
gba = GBA gba = GBA
patches = 特殊功能 patches = nds-bootstrap 設定
[save type] [save type]
title = 設定 title = 設定
@ -104,12 +106,12 @@ No Save = 沒有存檔
64M = 64M 64M = 64M
default = 預設 default = 預設
save slot = 選擇存檔Slot save slot = 選擇存檔Slot
tab1 = Compatibility tab1 = 相容性
tab2 = Features tab2 = 功能
[system setting] [system setting]
title = 系統設定 title = 系統設定
safe mode = Safe Mode safe mode = 安全模式
[rom info] [rom info]
title = 檔案資訊 title = 檔案資訊
@ -155,14 +157,27 @@ text = 複製時自動縮減ROM
item0 = 否 item0 = 否
item1 = 是 item1 = 是
[nds bootstrap]
text = nds-bootstrap版本
item0 = release版
item1 = nightly版
firsttimetitle = 初始化 nds-bootstrap
firsttime = 按“OK”開始 nds-bootstrap 的首次設定。這可能需要一分鐘,並且是一次性過程。
dsmode = DS-Only Mode
inimissingtitle = INI 錯誤
inimissing = _nds/akmenunext 中缺少 ndsbs.ini 檔案或該檔案已損壞。請恢復此檔案或重新安裝 akmenu-next。
phatCol = DS Phat Colors
[language] [language]
text = 系統語言 text = 系統語言
ja = 日本語 ja = 日文
en = english en = 英文
fr = français fr = 法文
de = deutsch de = 德文
it = italiano it = 義大利文
es = español es = 西班牙文
cn = 简体中文
zh = 繁體中文
[ui style] [ui style]
text = 面版 text = 面版
@ -206,9 +221,10 @@ cheating system = 金手指
reset in game = 暖開機 (L+R+A+B+↓) reset in game = 暖開機 (L+R+A+B+↓)
dma = DMA模式 dma = DMA模式
protection = 反制燒錄保護 protection = 反制燒錄保護
linkage = Link with GBA linkage = 與GBA連結
sd save = Save directly to SD sd save = 直接存儲到SD
homebrew reset = Reset in Homebrew homebrew reset = 在HomeBrew中暖開機
carddma = 遊戲卡讀取DMA
[switches] [switches]
Enable = 開啟 Enable = 開啟
@ -228,6 +244,7 @@ slow = 慢
title = 檔案系統設定 title = 檔案系統設定
show hidden files = 顯示隱藏檔案 show hidden files = 顯示隱藏檔案
Save Extension = 存檔副檔名 Save Extension = 存檔副檔名
use saves folder = 使用 'saves' 資料夾
[interface settings] [interface settings]
title = 介面設定 title = 介面設定
@ -236,43 +253,64 @@ filelist style = 列表格式
oldschool = 傳統 oldschool = 傳統
modern = 圖示 modern = 圖示
internal = 遊戲標題 internal = 遊戲標題
small = 小圖示
animation = 動畫 animation = 動畫
12 hour = 12-hour clock 12 hour = 12小時制
[gba settings] [gba settings]
title = GBA 設定 title = 其他設定
sleephack = 通用休眠 sleephack = 通用休眠
autosave = 啟動時備份存檔 autosave = 啟動時備份存檔
mode = Slot-2 mode mode = Slot-2 模式
modegba = gba modegba = gba模式
modends = nds modends = nds模式
modeask = ask modeask = ask模式
modetext = Launch slot-2 in NDS mode? modetext = 以NDS模式讀取slot-2嗎?
[sd save] [sd save]
title = 提示 title = 提示
text = This game cannot be launched from Acekard Internal Flash Memory, please copy game from Acekard Internal Flash Memory to SD card and try again. text = 該遊戲無法從 Acekard 內建記憶體中啟動,請將遊戲從 Acekard 內建記憶體移動到SD卡中再重試。
[icon] [icon]
icon = Show icon icon = 顯示圖示
transparent = transparent transparent = 邊框透明
as is = as is as is = 原圖示
firmware = firmware firmware = 韌體
[cheats] [cheats]
title = Cheats title = 作弊
info = More info = 更多
deselect = Deselect all deselect = 全部復位
[saveslot] [saveslot]
title = Copy Save Slot title = 複製存檔槽位
confirm = Are you sure you want to copy save slot? confirm = 確定要複製存檔槽位嗎?
target slot = Target Save Slot target slot = 目標存檔槽位
[mainlist] [mainlist]
flash memory = Flash Memory flash memory = 內建記憶體
microsd card = microSD Card microsd card = microSD卡
slot2 card = Slot2 Card slot2 card = Slot2卡
favorites = Favorites slot1 card = Slot1卡
favorites = 喜愛的
[loader]
text = 使用ROM引導器
not found = 找不到引導器
error = 錯誤
info = 資訊
[loading]
load text = 請稍後...
[resethotkey]
text = 選單熱鍵
0 = l-↓-select
1 = l-r-start
2 = l-r-select
3 = l-r-a-b-↓
4 = l-r-b-y-↓
5 = l-r-a-b-x-y
6 = 風俗
[end] [end]

View File

@ -1,278 +0,0 @@

[font]
main = ugulim12.pcf
language = 0
[start menu]
Copy = 복사
Cut = 잘라내기
Paste = 붙여넣기
Delete = 삭제
Setting = 환경 설정
Info = 파일/폴더 정보
Help = 도움말
Tools = 도구를
START = START
[message box]
yes = 예
no = 아니오
ok = 확인
cancel = 취소
[progress window]
processing save = 진행 중입니다, 전원을 끄지 마십시오.
processing copy = 복사 중, 전원을 끄지 마십시오.(취소: %c)
first use sd = 처음 사용하는 SD카드를 확인하는 중입니다.
gba load = 게임을 불러오는 중입니다.
gba save load = 세이브를 불러옵니다.
gba save store = 세이브를 저장합니다. 전원을 끄지 마십시오.
erase nor = NOR 플래시 메모리를 초기화 합니다.
[copy file error]
title = 오류
text = 파일이 존재 하지 않습니다.
[copy file exists]
title = 경고
text = 동일한 이름을 가진 파일이 존재합니다. 덮어씌우시겠습니까?
[copy dest is directory]
title = 오류
text = 동일한 이름을 가진 폴더가 존재하므로 파일을 복사할 수 없습니다.
[move dest is directory]
title = 오류
text = 동일한 이름을 가진 폴더가 존재하므로 파일을 이동할 수 없습니다.
[no copy dir]
title = 오류
text = 폴더의 복사/이동은 아직 지원하지 않습니다.
[stop copying file]
title = 파일 복사 정지
text = 복사를 취소하시겠습니까?
[confirm delete file]
title = 확인
text = 삭제한 파일은 복구 할 수 없습니다. 그래도 삭제 하겠습니까? "%s"
[do not delete directory]
title = 경고
text = 비어있지 않은 디렉토리는 삭제할 수 없습니다.
[restore save fail]
title = 오류
text = 세이브 데이터를 복구하는데 실패했습니다.
[language changed]
title = 질문
text = 사용자 언어가 변경되었습니다. 변경한 언어를 적용시키기 위해서 지금 재시동 하겠습니까?
[ui style changed]
title = 질문
text = 유저 인터페이스가 변경되었습니다. 변경한 인터페이스를 적용시키기 위해서 지금 재시동 하겠습니까?
[setting window]
ok = 예
savetype = 환경 설정
cancel = 취소
confirm = 확인
confirm text = 현재 설정을 저장하시겠습니까?
close = 닫기
system = 시스템을
interface = 인터페이스
filesystem = 파일
gba = GBA
patches = Patches
[save type]
title = 환경 설정
text = 저장 방식 선택
Unknown = 알수없음/자동
No Save = 저장 안함
4K = 4K
64K = 64K
512K = 512K
1M = 1M
2M = 2M
4M = 4M
8M = 8M
16M = 16M
32M = 32M
64M = 64M
default = 메인
save slot = 슬롯에 저장을 선택하십시오
tab1 = Compatibility
tab2 = Features
[system setting]
title = 환경 설정
safe mode = Safe Mode
[rom info]
title = 파일/폴더 정보
file date = 마지막 변경: %d/%d/%d %02d:%02d:%02d(GMT)
file size = 파일 크기: %s
save type = 저장 방식: %s
game code = Game Code: %s
copy slot = 슬롯복사
[disk info]
total = 디스크 용량: %s
used = 사용 용량: %s
free = 남은 용량: %s
[no free space]
title = 오류
text = 그 디스크에 충분한 공간이 없습니다.
[unsupported sd]
title = 지원되지 않는 SD 카드
text = 이 SD 카드(모델:%s)는 DS소프트웨어를 실행하는데 적합하지 않습니다. SD 카드의 소프트웨어를 내장 메모리로 옮겨서 실행해주시기 바랍니다.
[sd card error]
title = SD 카드 에러
text = SD 카드에 접근할 수 없습니다. 정확하게 삽입 되었는지 확인해 주십시오.
[no sd for save]
title = SD 카드 에러
text = SD 카드에 접근할 수 없습니다. 이전에 실행했던 소프트웨어의 저장 데이터는 내장 메모리에 저장됩니다.: "%s".
[no gba card]
title = 알림
text = 슬롯2에 장치가 없습니다.
[filelist type]
text = 표시할 파일 설정
item0 = NDS
item1 = NDS + SAV
item2 = 모두보임
[rom trim]
text = 복사할 때 롬파일 용량 줄임
item0 = 사용안함
item1 = 사용함
[language]
text = 언어
ja = 日本語
en = english
fr = français
de = deutsch
it = italiano
es = español
[ui style]
text = 유저 인터페이스 스타일
[help window]
title = 도움말 정보
item0 = %c 프로그램 선택
item1 = %c 시작/확인/예
item2 = %c 뒤로/취소/아니오
item3 = %c 파일 정보 보기/저장 방식 선택
item4 = %c 내장 메모리/외장 메모리 전환
item5 = %c 상위 폴더로 이동
item6 = %c 밝기 조절
item7 = %s 시작 메뉴
item8 = %s 목록 스타일 전환
[exp window]
button = 3in1
title = 3in1 확장팩 설정
ram = RAM
sram = sRAM
off = 사용안함
low = 약함
mid = 중간
high = 강함
strength = 진동 강도
flash to nor = to NOR
copy to psram = to RAM
[abort save]
title = 저장을 중지 처리
text = 처리 저장을 중지하시겠습니까?
[gba warn]
title = 경고
text = 32M가 넘는 GBA롬은 지원하지 않습니다.
[patches]
download play = 다운로드 플레이 패치
cheating system = 치트 사용(AR)
reset in game = 소프트 리셋 사용
dma = DMA mode
protection = Bypass Protection
linkage = Link with GBA
sd save = Save directly to SD
homebrew reset = Reset in Homebrew
[switches]
Enable = on
Disable = off
Global = global(%s)
[ram allocation]
title = 오류
memory allocation error = 메모리 할당 오류
[scrolling]
fast = 패스트
medium = 매체
slow = 슬로우
[file settings]
title = 파일 시스템 설정을
show hidden files = 숨김 파일 보임
save extension = 세이브파일 확장자 선택
[interface settings]
title = 인터페이스를 설정
scrolling speed = 스크롤 속도 조절
filelist style = 파일 목록 스타일의
oldschool = 단순
modern = 아이콘
internal = Internal
animation = 애니메이션
12 hour = 12-hour clock
[gba settings]
title = GBA settings
sleephack = Universal sleep
autosave = Backup save at startup
mode = Slot-2 mode
modegba = gba
modends = nds
modeask = ask
modetext = Launch slot-2 in NDS mode?
[sd save]
title = 경고
text = This game cannot be launched from Acekard Internal Flash Memory, please copy game from Acekard Internal Flash Memory to SD card and try again.
[icon]
icon = Show icon
transparent = transparent
as is = as is
firmware = firmware
[cheats]
title = Cheats
info = More…
deselect = Deselect all
[saveslot]
title = 저장슬롯 복사
confirm = 저장 슬롯을 복사하겠습니까?
target slot = 목표 저장 슬롯
[mainlist]
flash memory = Flash Memory
microsd card = microSD Card
slot2 card = Slot2 Card
favorites = Favorites
[end]

View File

@ -1,6 +0,0 @@
0 - japan
1 - english
2 - french
3 - italian
4 - german
5 - spain

@ -1 +1 @@
Subproject commit 35f54d8e036ac2326331914ea6d2f38d11353b8d Subproject commit 75b9cff717bf5d4212a81f20b85c6446490e8fd1

View File

@ -1,21 +0,0 @@
SRAM 分布:
0x100000 - 0x1FFFFF 1024K 存档内容
0x000000 - 0x00ffff 64K NAND 查找表,可以放下 16Gbit nand 的数据
0x010000 - 0x01ffff 64K saveblock 分配表
0x020000 - 0x09ffff 512K FAT 查找表
0x0a0000 - 0x0a0200 loader 要load的文件名
0x0FE800 - 0x0FEFFF 2048 Byte eep buffer
0x0FF000 - 0x0FFFFF 4096 Byte disk buffer

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
[system]
cheatingSystem = 0
softreset = 1
downloadPlayPatch = 0
[brightness]
brightness = 3

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More