/source/hos/pkg1.c - What code do I need to add here to be able to use it under FW 17.0.0?

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,130
Country
Germany
I want to make a RCM payload fit to run under FW 17.0.0. Currently this code is included in the corresponding file (pkg1.c) and only functional up to FW 11.0.1. Can someone please tell me what needs to be added there to make the payload work under FW 17.0.0? Thanks a lot in advance for any answers.

Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //1.0.0
    { "20170210155124", 0 }, //2.0.0 - 2.3.0
    { "20170519101410", 1 }, //3.0.0
    { "20170710161758", 2 }, //3.0.1 - 3.0.2
    { "20170921172629", 3 }, //4.0.0 - 4.1.0
    { "20180220163747", 4 }, //5.0.0 - 5.1.0
    { "20180802162753", 5 }, //6.0.0 - 6.1.0
    { "20181107105733", 6 }, //6.2.0
    { "20181218175730", 7 }, //7.0.0
    { "20190208150037", 7 }, //7.0.1
    { "20190314172056", 7 }, //8.0.0 - 8.0.1
    { "20190531152432", 8 }, //8.1.0
    { "20190809135709", 9 }, //9.0.0 - 9.0.1
    { "20191021113848", 10}, //9.1.0
    { "20200303104606", 10}, //10.0.0 - 10.2.0
    { "20201030110855", 10}, //11.0.0 - 11.0.1
    //From here on the code must be completed//
    { NULL } //End.
};
 

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,297
Trophies
3
XP
12,075
Country
Poland
Just try to run 17.0.0 with some old Hekate, you will get number on the left as part of error screen.

Number on the right should be 16
 
  • Like
Reactions: Muxi

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,130
Country
Germany
I've been updating the CFW system for years and always right that I seem to have a hard time doing it wrong with older Hekate versions. Either I get the message "there must be dragons - update your bootloader folder" when booting or I get a blackscreen. However, I do not get the desired error message with the necessary ID. Can someone please describe me exactly how I have to proceed under FW 17.0.0 to install for example Hekate 6.0.6/NYX 1.5.5?
 

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,130
Country
Germany
It is a modified version of Incognito_RCM by me, which is only designed for the emuMMC, so nothing can be changed on the sysMMC.
 

Badablek

Well-Known Member
Member
Joined
Jan 23, 2006
Messages
520
Trophies
1
Age
43
XP
2,932
Country
France
@Muxi maybe this : https://github.com/Atmosphere-NX/Atmosphere/blob/master/fusee/program/source/fusee_setup_horizon.cpp

Code:
 case 0x10:
                    if (std::memcmp(package1 + 0x10, "20190314", 8) == 0) {
                        return ams::TargetFirmware_8_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20190531", 8) == 0) {
                        return ams::TargetFirmware_8_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20190809", 8) == 0) {
                        return ams::TargetFirmware_9_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20191021", 8) == 0) {
                        return ams::TargetFirmware_9_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20200303", 8) == 0) {
                        return ams::TargetFirmware_10_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20201030", 8) == 0) {
                        return ams::TargetFirmware_11_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20210129", 8) == 0) {
                        return ams::TargetFirmware_12_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20210422", 8) == 0) {
                        return ams::TargetFirmware_12_0_2;
                    } else if (std::memcmp(package1 + 0x10, "20210607", 8) == 0) {
                        return ams::TargetFirmware_12_1_0;
                    } else if (std::memcmp(package1 + 0x10, "20210805", 8) == 0) {
                        return ams::TargetFirmware_13_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20220105", 8) == 0) {
                        return ams::TargetFirmware_13_2_1;
                    } else if (std::memcmp(package1 + 0x10, "20220209", 8) == 0) {
                        return ams::TargetFirmware_14_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20220801", 8) == 0) {
                        return ams::TargetFirmware_15_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20230111", 8) == 0) {
                        return ams::TargetFirmware_16_0_0;
                    } else if (std::memcmp(package1 + 0x10, "20230906", 8) == 0) {
                        return ams::TargetFirmware_17_0_0;

there is no time code, only date code, so I don't know if it will be useful..
 
  • Like
Reactions: Muxi

masagrator

The patches guy
Developer
Joined
Oct 14, 2018
Messages
6,297
Trophies
3
XP
12,075
Country
Poland
Oh, the numeric code has 6 digits more than all the others. Does that make a difference?
Provided source code by you has exact count of digits as my number? Yes, it is a difference, because your payload relies on longer ones, while new payloads don't hardcode last 6 digits. So you cannot use those shorter ones with your payload without rewriting some portion of code.
 
  • Like
Reactions: Muxi

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,130
Country
Germany
Was the code from you for FW 17.0.0? Are the other codes not needed when you are on FW 17.0.0? So it will work from FW 1.0.0 - 11.0.1 and FW 17.0.0. FW 12.0.0 - 16.1.0 is therefore not supported.

I have now added so. Is that right?

Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //1.0.0
    { "20170210155124", 0 }, //2.0.0 - 2.3.0
    { "20170519101410", 1 }, //3.0.0
    { "20170710161758", 2 }, //3.0.1 - 3.0.2
    { "20170921172629", 3 }, //4.0.0 - 4.1.0
    { "20180220163747", 4 }, //5.0.0 - 5.1.0
    { "20180802162753", 5 }, //6.0.0 - 6.1.0
    { "20181107105733", 6 }, //6.2.0
    { "20181218175730", 7 }, //7.0.0
    { "20190208150037", 7 }, //7.0.1
    { "20190314172056", 7 }, //8.0.0 - 8.0.1
    { "20190531152432", 8 }, //8.1.0
    { "20190809135709", 9 }, //9.0.0 - 9.0.1
    { "20191021113848", 10}, //9.1.0
    { "20200303104606", 10}, //10.0.0 - 10.2.0
    { "20201030110855", 10}, //11.0.0 - 11.0.1
    { "20230906134551", 16}, //17.0.0+
    { NULL } //End.
};
Post automatically merged:

while leaving bootloader folder from newer version
However, I took the bootloader folder of version 6.0.6 and overwrote all the data on the SD card. Apparently it is not because of that. I also deleted the update.bin, although I don't think that did much.

The code with the longer row of numbers is the original code of this payload. The code with the lower number row was from the Tegra Explorer predecessor version source code, which I took because higher FW versions than 11.0.1 were also supported there.
Post automatically merged:

Just try to run 17.0.0 with some old Hekate, you will get number on the left as part of error screen.
Only for the future:
Could you please post me a step by step guide on how to proceed to get future pkg1 IDs? Currently I have an emuMMC running FW 17.0.0 with Hekate 6.0.7/NYX 1.5.6 and AMS 1.6.2. This should serve as a starting point.
I'm really only concerned with knowing what to replace, and what to delete, in the existing installation.

btw:
I had already tried this with the Hekate predecessor version, but failed. The desired error message with the pkg1 ID was not output. Obviously I must have done something wrong. Therefore this request. Thanks in advance for your efforts.
 
Last edited by Muxi,

Muxi

Well-Known Member
OP
Member
Joined
Jun 1, 2016
Messages
605
Trophies
0
Age
52
XP
2,130
Country
Germany
I have now been able to collect all the PKG1 IDs that have been released so far from various sources and now have everything up to FW 17.0.0 in full. Since I have not received a reply to my last request, does anyone know of any tools that are currently still supported from whose source code I could take future PKG1 IDs?
Code:
static const pkg1_id_t _pkg1_ids[] = {
    { "20161121183008", 0 }, //  1.0.0
    { "20170210155124", 0 }, //  2.0.0 - 2.3.0
    { "20170519101410", 1 }, //  3.0.0
    { "20170710161758", 2 }, //  3.0.1 - 3.0.2
    { "20170921172629", 3 }, //  4.0.0 - 4.1.0
    { "20180220163747", 4 }, //  5.0.0 - 5.1.0
    { "20180802162753", 5 }, //  6.0.0 - 6.1.0
    { "20181107105733", 6 }, //  6.2.0
    { "20181218175730", 7 }, //  7.0.0
    { "20190208150037", 7 }, //  7.0.1
    { "20190314172056", 7 }, //  8.0.0 - 8.0.1
    { "20190531152432", 8 }, //  8.1.0
    { "20190809135709", 9 }, //  9.0.0 - 9.0.1
    { "20191021113848", 10}, //  9.1.0
    { "20200303104606", 10}, // 10.0.0 - 10.2.0
    { "20201030110855", 10}, // 11.0.0 - 11.0.1
    { "20210129111626", 10}, // 12.0.0 - 12.0.1
    { "20210422145837", 10}, // 12.0.2 - 12.0.3
    { "20210607122020", 11}, // 12.1.0.
    { "20210805123730", 12}, // 13.0.0 - 13.2.0
    { "20220105094454", 12}, // 13.2.1.
    { "20220209100018", 13}, // 14.0.0 - 14.1.2
    { "20220801142548", 14}, // 15.0.0 - 15.0.1
    { "20230111100014", 15}, // 16.0.0 - 16.1.0
    { "20230906134551", 16}, // 17.0.0
    { NULL } //End.
};
 
Last edited by Muxi,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho @ Veho:
    That's a relief to hear. Do you know what happened?
  • SylverReZ @ SylverReZ:
    @BakerMan, Any idea what happened? I hope that your brother's doing good.
  • BakerMan @ BakerMan:
    Well, from what I've heard from my parents, he had a seizure last night, perhaps an epileptic episode, fucking died, had a near death experience, my dad called the paramedics, they showed up, took him to the hospital, and he woke up covered in tubes, and started complaining.
  • BakerMan @ BakerMan:
    He couldn't eat until after his MRI, when he had a bomb pop.
  • BakerMan @ BakerMan:
    What matters now is that he's doing alright.
  • Veho @ Veho:
    But you still don't know what it was?
  • Veho @ Veho:
    Has he had seizures before?
  • The Real Jdbye @ The Real Jdbye:
    apparently stress can cause seizures, my brother had one during a test once
  • The Real Jdbye @ The Real Jdbye:
    never had one before that, and never had one since
  • Redleviboy123 @ Redleviboy123:
    Question about game texture chanching Do i need an own game id?
  • The Real Jdbye @ The Real Jdbye:
    @Veho for those that want to
    experience being sonic the hedgehog
  • Veho @ Veho:
    Ah, you mean
    furries.
    +1
  • The Real Jdbye @ The Real Jdbye:
    well, sonic fans are a whole separate thing from furries
  • The Real Jdbye @ The Real Jdbye:
    like bronys
  • The Real Jdbye @ The Real Jdbye:
    sonic porn is too weird even for me
  • Dumpflam @ Dumpflam:
    bruh
  • Dumpflam @ Dumpflam:
    guys how do i delete a post
  • The Real Jdbye @ The Real Jdbye:
    you don't
  • The Real Jdbye @ The Real Jdbye:
    you can report it and request deletion
  • BakerMan @ BakerMan:
    Also, no, that was his first time having a seizure, and hopefully the last
    +1
  • K3Nv2 @ K3Nv2:
    Ea play raised priced to $6 a month lol
  • BigOnYa @ BigOnYa:
    Same with uremum, she's now $2 a month
  • K3Nv2 @ K3Nv2:
    Also seizures come and and go they don't have an off switch like that it all depends
    K3Nv2 @ K3Nv2: Also seizures come and and go they don't have an off switch like that it all depends