From 907f6fa72db5b7b0c04b6e7afa40758a92133059 Mon Sep 17 00:00:00 2001 From: Michael Scire Date: Wed, 5 Dec 2018 23:36:12 -0800 Subject: [PATCH] stratosphere: make tma non-kip, add to build system --- Makefile | 2 ++ stratosphere/Makefile | 2 +- stratosphere/pm/source/pm_boot2.cpp | 7 ++++-- stratosphere/tma/Makefile | 10 +++++++-- stratosphere/tma/client/Main.py | 2 +- stratosphere/tma/tma.json | 34 +++++++++++++++++++++++++++++ 6 files changed, 51 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 62fdd0f64..37d2613a7 100644 --- a/Makefile +++ b/Makefile @@ -51,6 +51,8 @@ dist: all cp stratosphere/set_mitm/set_mitm.nsp atmosphere-$(AMSVER)/atmosphere/titles/0100000000000032/exefs.nsp mkdir -p atmosphere-$(AMSVER)/atmosphere/titles/0100000000000032/flags touch atmosphere-$(AMSVER)/atmosphere/titles/0100000000000032/flags/boot2.flag + cp stratosphere/tma/tma.nsp atmosphere-$(AMSVER)/atmosphere/titles/0100000000000007/exefs.nsp + cp stratosphere/dmnt/dmnt.nsp atmosphere-$(AMSVER)/atmosphere/titles/010000000000000D/exefs.nsp cd atmosphere-$(AMSVER); zip -r ../atmosphere-$(AMSVER).zip ./*; cd ../; rm -r atmosphere-$(AMSVER) mkdir out diff --git a/stratosphere/Makefile b/stratosphere/Makefile index 61e6a119c..fa1c68b67 100644 --- a/stratosphere/Makefile +++ b/stratosphere/Makefile @@ -1,4 +1,4 @@ -KIPS := loader pm sm boot fs_mitm set_mitm creport fatal +KIPS := loader pm sm boot fs_mitm set_mitm creport fatal tma dmnt #TODO: boot2 ? diff --git a/stratosphere/pm/source/pm_boot2.cpp b/stratosphere/pm/source/pm_boot2.cpp index 16811b6ec..6f3fa2c9f 100644 --- a/stratosphere/pm/source/pm_boot2.cpp +++ b/stratosphere/pm/source/pm_boot2.cpp @@ -158,8 +158,11 @@ void EmbeddedBoot2::Main() { /* Launch usb. */ LaunchTitle(Boot2KnownTitleId::usb, FsStorageId_NandSystem, 0, NULL); - /* Don't launch tma, because atmosphere replaces it with a KIP. */ - /* LaunchTitle(Boot2KnownTitleId::tma, FsStorageId_NandSystem, 0, NULL); */ + /* Launch Atmosphere tma, using FsStorageId_None to force SD card boot. */ + LaunchTitle(Boot2KnownTitleId::tma, FsStorageId_None, 0, NULL); + + /* Launch Atmosphere dmnt, using FsStorageId_None to force SD card boot. */ + LaunchTitle(Boot2KnownTitleId::dmnt, FsStorageId_None, 0, NULL); /* Launch default programs. */ bool maintenance = ShouldForceMaintenanceMode(); diff --git a/stratosphere/tma/Makefile b/stratosphere/tma/Makefile index 161caed02..6b5faa89c 100644 --- a/stratosphere/tma/Makefile +++ b/stratosphere/tma/Makefile @@ -132,9 +132,15 @@ DEPENDS := $(OFILES:.o=.d) #--------------------------------------------------------------------------------- # main targets #--------------------------------------------------------------------------------- -all : $(OUTPUT).kip +all : $(OUTPUT).nsp -$(OUTPUT).kip : $(OUTPUT).elf +ifeq ($(strip $(APP_JSON)),) +$(OUTPUT).nsp : $(OUTPUT).nso +else +$(OUTPUT).nsp : $(OUTPUT).nso $(OUTPUT).npdm +endif + +$(OUTPUT).nso : $(OUTPUT).elf $(OUTPUT).elf : $(OFILES) diff --git a/stratosphere/tma/client/Main.py b/stratosphere/tma/client/Main.py index 0a81509c6..4fabfc7b5 100644 --- a/stratosphere/tma/client/Main.py +++ b/stratosphere/tma/client/Main.py @@ -20,7 +20,7 @@ def main(argc, argv): print 'Waiting for connection...' c.wait_connected() print 'Connected!' - c.intf.send_packet(Packet().set_service(ServiceId.SETTINGS_SERVICE).set_task(0x01000000).set_cmd(0).write_str('lm').write_str('sd_card_log_output_directory')) + c.intf.send_packet(Packet().set_service(ServiceId.SETTINGS_SERVICE).set_task(0x01000000).set_cmd(0).write_str('platformconfig').write_str('platformtype')) resp = c.intf.read_packet() success = resp.read_u8() != 0 print 'Succeeded: %s' % str(success) diff --git a/stratosphere/tma/tma.json b/stratosphere/tma/tma.json index 7cbfbf3fc..e67d99b1f 100644 --- a/stratosphere/tma/tma.json +++ b/stratosphere/tma/tma.json @@ -1,10 +1,44 @@ { "name": "tma", "title_id": "0x0100000000000007", + "title_id_range_min": "0x0100000000000007", + "title_id_range_max": "0x0100000000000007", "main_thread_stack_size": "0x00004000", "main_thread_priority": 38, "default_cpu_id": 3, "process_category": 1, + "default_cpu_id": 3, + "process_category": 0, + "is_retail": true, + "pool_partition": 2, + "is_64_bit": true, + "address_space_type": 1, + "filesystem_access": { + "permissions": "0xFFFFFFFFFFFFFFFF" + }, + "service_access": [ + "bsd:s", + "bsdcfg", + "dmnt:-", + "fatal:u", + "i2c", + "pcie", + "psc:m", + "set:cal", + "set:fd", + "set:sys", + "sfdnsres", + "spl:", + "usb:ds" + ], + "service_host": [ + "file_io", + "gds", + "htc", + "htcs", + "tma_log", + "tmagent" + ], "kernel_capabilities": [ { "type": "syscalls",