* Added DSOnei kernel to included nds files for Stage2 menu.
* Added N-Card rom dump to included nds files for Stage2 menu.
* Added CycloDS, and DSTWo bootloader dumps to included nds files for
Stage2 menu.
* DSTwo now boots correctly from cart launcher.
* R4 SDHC Gold and other similar DEMON time bomb DSTTi clones now boot
correctly from cart launcher.
* Added back option for enabling/disabling TWL ram.
* Added fixes to allow DS only carts to run with TWL ram enabled.
* Initial modcrypt code added for TWL carts. Currently works in
emulation however TWL carts will fail to boot on hardware (when twl
mode, ram, etc is enabled).
* If TWL mode and ram is enabled, cart loader will now load the DSi
extended binaries into ram. Currently however they will only boot in
emulation. Have not resolved why it's not working on hardware yet.
* Stage2 menu now allowed to load dsi extended binaries of SRLs if TWL
mode and TWL ram is enabled. Booting rom dumps as a method of booting
into TWL carts is confirmed working. At least for System Flaw it does.
:D
* Despite the improvents Acekard 2i still appears to require using the
stage2 menu to boot into.
* Fixes that allowed Demon timebomb carts to boot from cart
launcher/autoboot may allow other non working carts to work. Further
testing needed.
* Original R4 rom now available in default pack of NDS files available
to Stage2 filebrowser.
* R4i SDHC varient's bootloader rom now available to stage2 filebrowser.
* Order of header/chip ID commands changed in main read_card code to
match order used in bootloader. Reads header before chip ID like
bootloader does. This triggers some carts to use DS/DS Lite rom insteat
of white listed spoof game instead. The main consequence is that this
makes DSTwo a bit more functional. Cart loader now actually boots the
DSTwo correctly provided you wait till NTR Launcher is booted before
inserting it. (or eject/reinsert while in stage 2 menu).
* Improve Icon UI. "No Icon" is now a seperate banner so that proper
background can be used for valid icons that have alpha pixels.
* Fix issue that could cause hang if using stage2 menu to load a
homebrew SRL that contains DSi Extended binaries.
* Add new graphics for when slot1 is empty when in stage2 menu.
* Stage2 laucnhers I had previously made for 3DS are now included in
nitrofs. Code is added to have program automatically copy them to
SD:\NTR_Launcher if they aren't present.
* Provided no bugs are found during testing this will likely be the 3.0
release.
* Small delay added to cart boot process from new hbmenu interface if
user decides to boot a cart that was present on boot and had not been
ejected. (as in that case card init can be skipped which results in very
fast boot time!)
* Card Init now correctly happens as intended if the user booted into
hbmenu interface and decides to boot a card that was present on boot as
in that case the card will need a full reset for boot loader to init it
correctly.
* Stage2 launcher UI added. This is a heavily modified HBMenu with
ability to launch carts! This menu can be used to boot a bootloader NDS
file for flascharts that the direct cart launcher fails to boot.
* New audio files added for new menu.
* HBMenu UI loaded by default if booted with no cart inserted.
* INI file folder now located in NTR_Launcher folder instead. A default
ini file from NitroFS (if mount of nitrofs succeeds) will be copied to
SD if one is not present.
* Stage2 launchers are expected to be in NTR Launcehr folder though you
can navigate to any folder you want in the UI so stage2 launchers aren't
the only thing this can be used for. You can also use this as a means of
booting homebrew off SD in NTR mode.
* Overhaul using improved bootloader from NitrohaxTWL.
* Alternate bootloader removed as it appears uneeded.
* Improved debug output using text instead of colored boxes from
NitroHax's original bootloader design. Debug mode will now show enhanced
status readouts of cart load process. Text displayed in red if an error
occurs (visible even when debug mode is off if error occured)
* Debug Mode setting now actually does something. :P
* R4, M3DS Real, and DSXtreme now boot correctly.
* Many more flashcarts that weren't working probably work now.
With the latest devkitARM revision gcc was updated, and -fno-common became the default.
With that in mind, changing each problem enum to typedef enum fixes the compilation issues.
Adds the old card loader bootloader in a manner similar to how
slot1Launcher works in TwilightMenu. The new ini file setting has
NTR_Launcher use the previous build of the the cart loader that doesn't
have TWL cart support. This version had better compatiblity with old
flashcarts.
Use legacy mode if you had to use an old build of NTR_Launcher to use
your flashcart. Note that legacy mode setting is overridden if you
attempt to boot a TWL cart so you don't have to disable it in the ini
file anytime you want to try booting a TWL cart.
The 3DS branch will be retired. The DSi branch is now the default. The
animated bootsplash has been integrated and is off by default. If you
intend to use on 3DS, enable the splash via the NTR_Launcher.ini file.
Overhaul of old cart loading code courtasy of Robz8.
There is however a small regression. This build currently can't boot
DS-Xtreme.
If you have issues with flashcarts not booting games/homebrew correctly,
disable the extended ram option in the ini file. Currently off by
default. But it must be on for TWL carts to boot correctly.
Re-organized a few things in main.cpp.
Issues with carts not working if NTR Launcher wasn't booted with a cart
inserted or carts not working when using resetslot1 option enabled
should be fixed now.
Minor changes to allow compiling on latest libnds.
Also made use of "enableslot1();" and "disableslot1();" functions
provided by latest libnds. No longer need to use custom functions for
this and helps simplfiy my arm7 code.
Now uses new commands for setting Access Control region and "DSi
Application flags". Can now have ndstool set 0x1BC-0x1BF for me. Useful
for setting the bit required to make touchscreen/wifi work correctly
after switching to NTR mode.
Removed some features that would see little use like the TWL mode option
and the enable SD option. MBK init code moved and always used. Sets MBK
to proper values for NTR mode (as documented in No$GBA).
Since this build is now intended to be launched from a patched DSi
System Menu, the touch screen mode change code has been removed and and
this no longer requires a custom libnds build that isn't really
available anywhere right now. :P
Also added other language versions of health & safety warning. Note
currently that will only be configured based on system language setup in
NVRAM/DS profile.
ResetSlot1 option enabled by default in default INI file.
Seperated NTRCLOCK from DS boot splash. They can both be set
independently now.
Fixed slot reset code. Courtasy of Ahezard. This revised version does
not generate warnings during compile and also has the same/better
compatbility. (further testing needed to see what impact this has
however)
It almost compiles without any warnings now. Only fix left for it that
is to redo slot reset code. Original code is too much of a mess to
compile with the "-Wall -Wextra -Werror" flag.
That flag has been added to makefile of arm9/bootloader. Once arm7 is
fixed it will be added there as well.
Also altered SCFG_EXT values being set. According to gbatek bits 13 and
12 are set while in NTR mode. (they seem to be set while in TWL mode
DSiWare as well appearently)
New libnds improves frame rate of bootsplash animations. As a result the
noticable increase in playback speed causes DSi jingle to play a little
late. I moved it up a few frames.
This didn't seem to impact the DS splash very much so no changed needed
there.
Turns out certain settings in header set by ndstool broke the primary
card init method. Manually setting the values to what they were in older
builds restores all functionality the older builds had.
Also added source files of the graphics used in the bootanimation from
the old github repo.
Force card reset to always occur. Old method of card init without slot
being in ntr mode seems broken in latest libnds, so that feature will be
disabled for now.
This works for the most part now. Is able to launch games and flashcarts
now. Had to force slot reset though. The ability to card init without
that by not having slot-1 in ntr mode (via the bit for it in access
control) seems broken with this version of libnds. But I can live
without that.
Touchscreen however is borked for NTR games.
The following commits were merged:
0fe83d2b25a87af8359747ea3da28566740e751a
No new problems were intreduced however this did not resolve the failure
to boot/read slot-1.
It runs and appears to play the boot animation correctly, however it
hangs after loading the game binaries. (from what I can tell after
re-enabling the debug display box code stuff. It displays 3 red boxes
then a blue, then the screen is cleared. I assume this means it didn't
detect an error and attempted to launch the game)
Seems like something in new libnds/devkitarm is breaking something.
Someone will need to debug this and find out why. This issue isn't
something I can resolve alone sadly. Until this is fixed the previous
build will remain until this is resolved.
Updated gitignore. make_cia is something provided by standard homebrew
tools. I just forgot to add it to gitignore before syncing. :P
Readme.md updated to remove reference to "alt build" as this is now the
main build.