Commit Graph

21 Commits

Author SHA1 Message Date
GRAnimated
c27873a94a Allow npdm to build without force_debug_prod 2024-10-23 01:05:08 -04:00
Michael Scire
e36a8251cd npdmtool: add new flags from 18.0.0/19.0.0 2024-10-14 20:09:52 +01:00
Michael Scire
786ccde466 ndpmtool/elftool: support force_debug_prod 2024-10-14 20:09:52 +01:00
Michael Scire
becb4df6f6 use actual lowest/highest priorities, ignoring field names 2022-05-22 16:11:49 +01:00
Michael Scire
70d270d001 Add support for optional OptimizeMemoryAllocation npdm flag 2022-05-22 16:11:49 +01:00
Michael Scire
6fd5ae6e48 generate correct save_data_owner_ids 2022-05-22 16:11:49 +01:00
Michael Scire
87f4744e62 elf2kip/npdmtool: update json format to reflect modern OS.
Version field was incorrectly labeled "process_category". This is now supported (and defaults to 0 if not present on npdm, 1 if not present on kip). process_category is alias.

Support was added for mesosphere large-address map extension (these bits are reserved in official OS).

Support was added for specifying the signature key generation, which determines modulus used to verify ACID.

Support was added for system call capabilities in range [0x80, 0xBF], which kernel allows since 11.0.0.

"title_id" (and min/max) were renamed to program_id. If program_id not present, title_id used as alias.
2022-05-22 16:11:49 +01:00
Michael Scire
72b9e5cc85 npdmtool: be friendlier about disable das field 2020-12-02 02:55:22 +01:00
Michael Scire
fe13e1c1da npdmtool: add support for 11.0.0 DisableDeviceAddressSpaceMerge 2020-12-02 02:00:05 +01:00
Michael Scire
980dbbfe4c npdmtool: add compatibility for 8.0.0+ memory region capabilities 2020-08-21 20:22:07 +02:00
Michael Scire
f1ffee8e1d npdmtool: generate FAC compatible with 4.1.0 and under 2020-07-09 01:14:22 +01:00
Michael Scire
2c7bedf37b npdmtool: trim trailing whitespace 2020-07-09 01:14:22 +01:00
HookedBehemoth
d34444b575
npdmtool: add content and save data owner parsing (#27) 2020-06-06 15:11:30 +02:00
Somebody Whoisbored
e607ced3e2 Support SystemResourceSize property in NPDM META (#26) 2020-01-10 12:35:29 +01:00
Steven Mattera
d12b301b19 Limited the name to 10 characters. (#23) 2019-05-09 12:48:17 +02:00
roblabla
9d39e91fb0 Allow service_host and service_access to be NULL.
Fixes compatibility with old-style JSON, and is more flexible anyways.
2018-10-30 17:41:00 +01:00
roblabla
1c382d5c09 Avoid using duplicate keys in service_access
Splits service_access into service_host and service_access, both arrays of
strings.

We output service_host first, as that seems to be what Nintendo is doing - all
their NPDMs have service hosts before service accesses.
2018-10-16 16:05:20 -04:00
roblabla
ab742daada Add array-style kernel_capabilities to npdms.
The array-style kernel caps look like:

"kernel_capabilities": [
    { type: "irq_pair", value: [1, 2] },
    // ...
]

Deprecates duplicate-key style.
2018-10-16 16:05:20 -04:00
roblabla
23b1993b42 JSON->NPDM: Write IRQs in the correct order 2018-10-16 16:05:20 -04:00
fincs
e2d64bb2fe strtoul -> strtoull (don't assume LP64 for Windows) 2018-05-03 01:15:43 +02:00
SciresM
e68cd31c1d Add npdmtool (#9)
* Add npdmtool.

* Add support for hex string kernel version.

* elf2kip: Fixed shift for kernel_flags.
2018-05-02 12:02:07 -04:00