Commit Graph

45 Commits

Author SHA1 Message Date
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
Kei
4991ce756b Fixed version number 2024-12-14 17:55:10 +00:00
Kei
b5c84c5158 Added readme 2024-12-14 17:52:29 +00:00
Kei
21dbfe534e nds-bootstrap variant
- Changes to the makefile to build only the nds-bootstrap variant
- Visual cues for loading progress
2024-12-14 17:51:51 +00:00
lifehackerhansol
5c632b58f5
ttio: update from DLDI source
Fixes issues on R4iTT DSTT-based carts which have a weird quirk
2024-11-04 11:07:18 -08:00
lifehackerhansol
c310511fe2
DLDI patch flashcard-specific targets
This is probably not needed as users are likely to use another
bootloader, but it's useful nonetheless particularly for the DSTT
which may not need such a thing.
2024-11-04 11:07:18 -08:00
lifehackerhansol
62a7fb2220
Add DLDI submodule 2024-11-04 11:07:15 -08:00
lifehackerhansol
34996d8ed9
Add support for the M3
- Uses m3patch from YSMenu
2024-11-03 10:53:06 -08:00
lifehackerhansol
179c309b19
TopToyLauncher: simplify ifdefs for loader path, error if not found 2024-11-03 10:43:54 -08:00
lifehackerhansol
fcdca80478
launcher: use system file name macro for cheat database 2024-11-01 08:42:16 -07:00
lifehackerhansol
2199c147ae
TopToyLauncher: Add support for dual SD/SDHC support for DSTT
Works by reinitializing the SD card to retrieve the HCS bit
2024-11-01 08:22:13 -07:00
lifehackerhansol
7ebc6abf53
TopToyLauncher: use 8.3 filename for TTMENU.SYS
Fixes an issue on some SD card
2024-11-01 08:21:24 -07:00
lifehackerhansol
30836cdae3
rominfownd: fix order of ROM loader selection
nds-bootstrap needs to be `1` for things to work.
2024-11-01 02:59:38 -07:00
lifehackerhansol
350dc13e90
Add TTMenu support
This needs TTMenu/YSMenu to already be installed, or at least
extinfo/infolib/ttpatch.
2024-10-31 23:32:21 -07:00
lifehackerhansol
8cada4d83d
arm7: load directly to IWRAM and only IWRAM
Small modification to the linkerscript to stay in 0x03800000. This may
break a few loaders but that's okay, nobody should be booting this
directly.
2024-10-30 20:30:10 -07:00
lifehackerhansol
fa9e4afefc
mainwnd: add support for globally setting launcher 2024-10-14 17:12:41 -07:00
lifehackerhansol
95ff08bdc6
launcher: tell user when loader is missing
At the moment it will just do nothing and go back to menu; instead
print a hopefully helpful text that the file is missing.
2024-10-14 17:12:41 -07:00
lifehackerhansol
5020802b1a
helpwnd: rebrand
No longer wood :)

- Add version text of loaders where possible
- Remove font size in help window, not really that helpful
2024-10-14 17:12:40 -07:00
lifehackerhansol
5eac5c72b8
mainlist: sanity check going back from top menu
When going back to the top directory, the code passes "...". But what
if you go back *from* the top directory?

In this case, the menu goes crazy and loads the SD card directory, and
it is impossible to go back to the top directory.

At the top directory, the location is not "..." but actually "". It is
also possible for the directory passed to be ".../". Add a check for
all these probabilities and treat them like the top directory.
2024-10-14 17:12:40 -07:00
lifehackerhansol
794685e291
Add back support for favorites
This was accidentally removed when file operations were removed; for
some reason that was tied to the favorites feature.

Add it back in a simpler form.
2024-10-14 17:12:40 -07:00
lifehackerhansol
5adf8515ac
mainwnd: remove broken custom dirShowName for the file system
This is a pain to support due to multiple types of mount points. The
current mount points (`sd` and `fat`) are just fine and understandable.
2024-10-14 17:12:40 -07:00
lifehackerhansol
3c9b9088ef
mainlist: fix retriving attributes of file
This requires a full path, but it was instead passing the file name.
This caused files to only appear in the root directory.
2024-10-14 17:12:40 -07:00
lifehackerhansol
12737bfbe2
Add back support for PassMe
This is handled by PassMeLoader; it must be present in `/__rpg/`.
2024-10-14 17:12:40 -07:00
lifehackerhansol
8a5ec3e0b8
AcekardLauncher: add system.sys generation support
This is needed by BL2CK-based akloader (which is the R4iTT loader) to
load titles.

Only that loader needs it, so hide behind a guard.
2024-10-14 17:12:40 -07:00
lifehackerhansol
21b6b529f3
Work around broken FIFO setup
Not entirely sure why, but FIFOs were being sent and received AFTER the
interrupts were cleared, causing them to not send.

It's unknown how this ever worked on older libnds/devkitARM, but FIFOs
need interrupts to work.

This workaround, instead, hijacks an area of the ROM header as a
temporary variable to wait for ARM7.
2024-10-14 17:12:39 -07:00
lifehackerhansol
fc0e950f34
Migrate old romloader code as an interface
This is loosely based on WAIO:
- Load akloader from a prebuilt akloader.nds. Must be extracted from a
  given kernel.
- Remaining code based on the R4 variant of romloader.cpp
- Add setting to alternate between nds-bootstrap and given kernel
2024-10-14 17:12:39 -07:00
lifehackerhansol
5c8bfca525
Set default file extension to .sav
Everybody is using this format, so make this the default to make
file management life easier.
2024-10-13 22:39:05 -07:00
lifehackerhansol
a2a82b6e4e
Add support for DSi SD
- Due to too much hardcoding on flashcart, it requires a compiler flag
  to enable DSi features.
2024-10-13 22:39:04 -07:00
lifehackerhansol
5e413177d4
Eradicate testcases 2024-10-13 02:23:16 -07:00
lifehackerhansol
1a76345468
Add nds-bootstrap interface
- Rework savemngr to use melonDS ROM list for save type
- Use nds-bootstrap in place of akloader for retail game launching
2024-10-13 02:23:15 -07:00
lifehackerhansol
1a88151eee
cheatwnd: add utilities for exporting cheat data to a file
- Use a u32 vector instead of std::string
- Use that vector to allow exporting to file

Co-authored-by: Pk11 <pk11@outlook.jp>
2024-10-13 02:22:39 -07:00
lifehackerhansol
e702d1bfbf
Add the ILauncher interface, starting with homebrew
- To keep things simple, use devkitPro's nds-bootloader
2024-10-13 02:22:38 -07:00
lifehackerhansol
62cf5f681b
Add licenses of incorporated source code
- The base akmenu is under MIT
- The fork, woodrpg, is under GPL-3.0-or-later
2024-10-13 02:11:14 -07:00
lifehackerhansol
8476d61c49
treewide: switch to SPDX-License-Identifier 2024-10-13 02:11:14 -07:00
lifehackerhansol
802463dfe7
button: remove unused width variable
Fixes -Wunused-variable warning
2024-10-13 02:11:14 -07:00
lifehackerhansol
bd4b817c87
exptools: do not use register int
Fixes -Wregister warning
2024-10-13 02:11:13 -07:00
lifehackerhansol
800aa07da8
treewide: use pragma once 2024-10-13 02:11:13 -07:00
lifehackerhansol
220e82fcbd
treewide: clang-format 2024-10-13 02:11:12 -07:00
lifehackerhansol
01364b9220
Add .clang-format
Taken from:
Repo: https://android.googlesource.com/platform/build/soong
Path: scripts/system-clang-format
HEAD: c56712943ff2c76051489cc8dffcb04c1dfe2a76
2024-10-05 20:49:08 -07:00
lifehackerhansol
6d74f51cd1
sprite: migrate to using OAM from libnds
Co-authored-by: Ronny Chan <ronny6993@gmail.com>
2024-10-05 20:49:07 -07:00
lifehackerhansol
a7dd6151a4
Make it build on latest devkitARM
- UTF8-ify where possible
- Remove custom linkerscript
- Update Makefiles
  - devkitPro/nds-examples@6afa09b205
- Comment out akloader binaries
  - This will be reworked soon™️
- Eradicate sdidentify
  - AKRPG specific
- Eradicate libelm
- Eradicate save64m
- Eradicate file operations
- Eradicate libio*
- Eradicate crtsmall
- Fix paths for new root drive naming in latest libfat
- dsrom: fix type cast issue in homebrew check
- MAX_FILENAME_LENGTH -> PATH_MAX
- adapt directory listing operations to new dkP way
- timer: unstaticify _factor
- Remove all flashcart-specific bits
- fix type of cPopMenu::itemBelowPoint
- gbaloader: use updated vramSetPrimaryBanks function
- Move arm9-specific headers to arm9
2024-10-05 20:49:07 -07:00
lifehackerhansol
6fe395b92f
Extract akmenu4 from woodrpg v1.25 2024-10-04 22:35:39 -07:00
lifehackerhansol
f33df81056
Add .gitignore 2024-10-04 22:35:38 -07:00
lifehackerhansol
1ff59f3b7f
Initial empty repository 2024-10-04 12:04:29 -07:00