mirror of
https://github.com/eliboa/TegraRcmGUI.git
synced 2025-04-29 21:59:31 -04:00
Compare commits
23 commits
Author | SHA1 | Date | |
---|---|---|---|
|
417d212ea9 | ||
|
0e72b97770 | ||
|
2524968059 | ||
|
b6d6f18e6a | ||
|
6c0fb778f4 | ||
|
5c37ceaa97 | ||
|
1786276e52 | ||
|
3be31123e9 | ||
|
7b60923460 | ||
|
2f00e5264b | ||
|
6e4d3a3906 | ||
|
b115ecadb2 | ||
|
781da57c4e | ||
|
27f82da96a | ||
|
42658d7acb | ||
|
ce2d05edd4 | ||
|
5ce7782fab | ||
|
1467953323 | ||
|
6e20afa898 | ||
|
d506aa091c | ||
|
fb2e609b6e | ||
|
638f85281c | ||
|
730afcd0a4 |
17 changed files with 373 additions and 316 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.vs
|
||||||
|
Output
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "TegraRcmGUI/tools/src/biskeydump"]
|
||||||
|
path = TegraRcmGUI/tools/src/biskeydump
|
||||||
|
url = https://github.com/eliboa/biskeydump
|
26
README.md
26
README.md
|
@ -1,8 +1,17 @@
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
# TegraRcmGUI
|
# TegraRcmGUI
|
||||||
C++ GUI for [TegraRcmSmash](https://github.com/rajkosto/TegraRcmSmash) by [rajkosto](https://github.com/rajkosto) (Fusée Gelée exploit for Nintendo Switch)
|
C++ GUI for [TegraRcmSmash](https://github.com/rajkosto/TegraRcmSmash) by [rajkosto](https://github.com/rajkosto) (Fusée Gelée exploit for Nintendo Switch)
|
||||||
|
|
||||||
|
The RCM exploit only works on "unpatched" units, i.e manufactured before July 2018. To check if your Switch is patched, use https://ismyswitchpatched.com/
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Inject payloads (such as CFW bootloader, Nand/Key Dumper, etc)
|
- Inject payloads
|
||||||
- Manage favorites
|
- Manage favorites
|
||||||
- Run Linux on your switch (ShofEL2)
|
- Run Linux on your switch (ShofEL2)
|
||||||
- Mount device as USB mass storage (read/write from/to SD card & NAND partitions, hold power button down for 5sec to exit)
|
- Mount device as USB mass storage (read/write from/to SD card & NAND partitions, hold power button down for 5sec to exit)
|
||||||
|
@ -12,7 +21,7 @@ C++ GUI for [TegraRcmSmash](https://github.com/rajkosto/TegraRcmSmash) by [rajko
|
||||||
- Option - Run app at Windows startup
|
- Option - Run app at Windows startup
|
||||||
- Install APX device driver (if needed)
|
- Install APX device driver (if needed)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Download
|
## Download
|
||||||
[Latest release](https://github.com/eliboa/TegraRcmGUI/releases/latest) (Windows)
|
[Latest release](https://github.com/eliboa/TegraRcmGUI/releases/latest) (Windows)
|
||||||
|
@ -22,12 +31,25 @@ This UI is **Windows-only**.
|
||||||
For other platforms, you can use :
|
For other platforms, you can use :
|
||||||
- [Fusée Launcher](https://github.com/Cease-and-DeSwitch/fusee-launcher) (GNU/Linux)
|
- [Fusée Launcher](https://github.com/Cease-and-DeSwitch/fusee-launcher) (GNU/Linux)
|
||||||
- [NXBoot](https://mologie.github.io/nxboot/) (OS X, iOS)
|
- [NXBoot](https://mologie.github.io/nxboot/) (OS X, iOS)
|
||||||
|
- [JTegraNX](https://github.com/dylwedma11748/JTegraNX) (Windows, OS X, GNU/Linux)
|
||||||
- [NXLoader](https://github.com/DavidBuchanan314/NXLoader) (Android)
|
- [NXLoader](https://github.com/DavidBuchanan314/NXLoader) (Android)
|
||||||
- [Web Fusée Launcher](https://fusee-gelee.firebaseapp.com/) (Cross-platform, only works with Chrome)
|
- [Web Fusée Launcher](https://fusee-gelee.firebaseapp.com/) (Cross-platform, only works with Chrome)
|
||||||
|
|
||||||
## Issue / Suggestion
|
## Issue / Suggestion
|
||||||
Please open new [issue](https://github.com/eliboa/TegraRcmGUI/issues) to report a bug or submit a suggestion.
|
Please open new [issue](https://github.com/eliboa/TegraRcmGUI/issues) to report a bug or submit a suggestion.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
Install the [libusbk dev kit](https://sourceforge.net/projects/libusbk/) using the setup program, then create an environment variable `LIBUSBK_DIR` with the installation path as the value.
|
||||||
|
|
||||||
|
## How to backup/restore your Nintendo Switch's NAND ?
|
||||||
|
|
||||||
|
1) Use [memloader](https://github.com/rajkosto/memloader) v3 to mount eMMC on your computer
|
||||||
|
2) Download and open [NxNandManager](https://github.com/eliboa/NxNandManager). Select "File" then "Open drive".
|
||||||
|
3) Select the mounted drive. You can now perform backup/restore operations.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
- [Rajkosto](https://github.com/rajkosto) / [TegraRcmSmash](https://github.com/rajkosto/TegraRcmSmash) (Fusée Launcher reimplementation for Windows), [memloader](https://github.com/rajkosto/memloader), SD tool, [biskeydump](https://github.com/rajkosto/biskeydump)
|
- [Rajkosto](https://github.com/rajkosto) / [TegraRcmSmash](https://github.com/rajkosto/TegraRcmSmash) (Fusée Launcher reimplementation for Windows), [memloader](https://github.com/rajkosto/memloader), SD tool, [biskeydump](https://github.com/rajkosto/biskeydump)
|
||||||
- [Kate Temkin](https://github.com/ktemkin) / [Fusée Launcher](https://github.com/Cease-and-DeSwitch/fusee-launcher)
|
- [Kate Temkin](https://github.com/ktemkin) / [Fusée Launcher](https://github.com/Cease-and-DeSwitch/fusee-launcher)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 14
|
# Visual Studio 15
|
||||||
VisualStudioVersion = 14.0.24720.0
|
VisualStudioVersion = 15.0.26228.9
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TegraRcmGUI", "TegraRcmGUI\TegraRcmGUI.vcxproj", "{2C091C5B-378F-44D0-91F2-53489BA7B83C}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TegraRcmGUI", "TegraRcmGUI\TegraRcmGUI.vcxproj", "{2C091C5B-378F-44D0-91F2-53489BA7B83C}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|
|
@ -144,16 +144,16 @@ void DialogTab02::OnBnClickedMountSd()
|
||||||
switch (pmyComboBox->GetCurSel())
|
switch (pmyComboBox->GetCurSel())
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
_tcscpy(args, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_boot0.ini"));
|
_tcscpy_s(args, 255, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_boot0.ini"));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
_tcscpy(args, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_boot1.ini"));
|
_tcscpy_s(args, 255, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_boot1.ini"));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
_tcscpy(args, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_emmc.ini"));
|
_tcscpy_s(args, 255, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_emmc.ini"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
_tcscpy(args, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_sd.ini"));
|
_tcscpy_s(args, 255, TEXT(".\\tools\\memloader\\memloader_usb.bin -r --dataini=.\\tools\\memloader\\ums_sd.ini"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ void DialogTab02::OnBnClickedShofel2()
|
||||||
STARTUPINFO si;
|
STARTUPINFO si;
|
||||||
ZeroMemory(&si, sizeof(si));
|
ZeroMemory(&si, sizeof(si));
|
||||||
si.cb = sizeof(si);
|
si.cb = sizeof(si);
|
||||||
TCHAR *download_script = m_TegraRcm->GetAbsolutePath(TEXT("shofel2\\download.bat"), CSIDL_APPDATA);
|
TCHAR *download_script = m_TegraRcm->GetAbsolutePath(TEXT("tools\\shofel2\\download.bat"), CSIDL_APPDATA);
|
||||||
BOOL bRet = CreateProcess(download_script, NULL, NULL, NULL, FALSE, 0, NULL, exe_dir, &si, &pif);
|
BOOL bRet = CreateProcess(download_script, NULL, NULL, NULL, FALSE, 0, NULL, exe_dir, &si, &pif);
|
||||||
}
|
}
|
||||||
return; // TO-DO : Remove return for coreboot injection after download
|
return; // TO-DO : Remove return for coreboot injection after download
|
||||||
|
|
|
@ -45,6 +45,14 @@ BOOL DialogTab03::OnInitDialog()
|
||||||
checkbox->SetCheck(BST_CHECKED);
|
checkbox->SetCheck(BST_CHECKED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
value = m_TegraRcm->GetPreset("LOGGING");
|
||||||
|
if (value == "TRUE")
|
||||||
|
{
|
||||||
|
m_TegraRcm->LOGGING_CURR = TRUE;
|
||||||
|
CMFCButton* checkbox = (CMFCButton*)GetDlgItem(LOGGING);
|
||||||
|
checkbox->SetCheck(BST_CHECKED);
|
||||||
|
}
|
||||||
|
|
||||||
TCHAR szPath[MAX_PATH];
|
TCHAR szPath[MAX_PATH];
|
||||||
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, szPath)))
|
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT, szPath)))
|
||||||
{
|
{
|
||||||
|
@ -66,7 +74,8 @@ BEGIN_MESSAGE_MAP(DialogTab03, CDialogEx)
|
||||||
ON_BN_CLICKED(MIN_TO_TRAY, &DialogTab03::OnClickedMinToTray)
|
ON_BN_CLICKED(MIN_TO_TRAY, &DialogTab03::OnClickedMinToTray)
|
||||||
ON_BN_CLICKED(ID_INSTALL_DRIVER, &DialogTab03::OnBnClickedInstallDriver)
|
ON_BN_CLICKED(ID_INSTALL_DRIVER, &DialogTab03::OnBnClickedInstallDriver)
|
||||||
ON_BN_CLICKED(RUN_WINSTART, &DialogTab03::OnBnClickedWinstart)
|
ON_BN_CLICKED(RUN_WINSTART, &DialogTab03::OnBnClickedWinstart)
|
||||||
ON_BN_CLICKED(IDC_BUTTON2, &DialogTab03::OnBnClickedButton2)
|
ON_BN_CLICKED(LOGGING, &DialogTab03::OnClickedLogging)
|
||||||
|
//ON_BN_CLICKED(IDC_BUTTON2, &DialogTab03::OnBnClickedButton2)
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
@ -113,6 +122,20 @@ void DialogTab03::OnClickedMinToTray()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DialogTab03::OnClickedLogging()
|
||||||
|
{
|
||||||
|
// Get Minimize to tray checkbox value (checked, unchecked)
|
||||||
|
CButton* m_ctlCheck = (CButton*)GetDlgItem(LOGGING);
|
||||||
|
BOOL IsCheckChecked = (m_ctlCheck->GetCheck() == 1) ? true : false;
|
||||||
|
if (m_TegraRcm->LOGGING_CURR != IsCheckChecked)
|
||||||
|
{
|
||||||
|
if (IsCheckChecked) m_TegraRcm->SetPreset("LOGGING", "TRUE");
|
||||||
|
else m_TegraRcm->SetPreset("LOGGING", "FALSE");
|
||||||
|
m_TegraRcm->LOGGING_CURR = IsCheckChecked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void DialogTab03::OnBnClickedInstallDriver()
|
void DialogTab03::OnBnClickedInstallDriver()
|
||||||
{
|
{
|
||||||
m_TegraRcm->InstallDriver();
|
m_TegraRcm->InstallDriver();
|
||||||
|
@ -223,8 +246,9 @@ void DialogTab03::CleanRegestry() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
void DialogTab03::OnBnClickedButton2()
|
void DialogTab03::OnBnClickedButton2()
|
||||||
{
|
{
|
||||||
m_TegraRcm->SetLocale();
|
m_TegraRcm->SetLocale();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
|
@ -44,6 +44,7 @@ public:
|
||||||
afx_msg void OnClickedMinToTray();
|
afx_msg void OnClickedMinToTray();
|
||||||
afx_msg void OnBnClickedInstallDriver();
|
afx_msg void OnBnClickedInstallDriver();
|
||||||
afx_msg void OnBnClickedWinstart();
|
afx_msg void OnBnClickedWinstart();
|
||||||
|
afx_msg void OnClickedLogging();
|
||||||
void CreateLink();
|
void CreateLink();
|
||||||
afx_msg void CleanRegestry();
|
afx_msg void CleanRegestry();
|
||||||
|
|
||||||
|
|
|
@ -37,6 +37,7 @@ TegraRcm::TegraRcm(CDialog* pParent /*=NULL*/)
|
||||||
{
|
{
|
||||||
m_Parent = pParent;
|
m_Parent = pParent;
|
||||||
m_hWnd = AfxGetMainWnd()->GetSafeHwnd();
|
m_hWnd = AfxGetMainWnd()->GetSafeHwnd();
|
||||||
|
this->LOGGING_CURR = GetPreset("LOGGING") == "TRUE";
|
||||||
GetFavorites();
|
GetFavorites();
|
||||||
//SendUserMessage("Waiting for device in RCM mode");
|
//SendUserMessage("Waiting for device in RCM mode");
|
||||||
}
|
}
|
||||||
|
@ -259,7 +260,7 @@ void TegraRcm::ShowContextMenu(HWND hWnd)
|
||||||
DestroyMenu(hMenu);
|
DestroyMenu(hMenu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LRESULT TegraRcm::OnTrayIconEvent(UINT wParam, LPARAM lParam)
|
LRESULT TegraRcm::OnTrayIconEvent(WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
if ((UINT)wParam != ID_SYSTEMTRAY)
|
if ((UINT)wParam != ID_SYSTEMTRAY)
|
||||||
{
|
{
|
||||||
|
@ -543,8 +544,7 @@ void TegraRcm::SaveFavorites()
|
||||||
void TegraRcm::AppendLog(string message)
|
void TegraRcm::AppendLog(string message)
|
||||||
{
|
{
|
||||||
|
|
||||||
// DISABLED
|
if (!this->LOGGING_CURR) return;
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
// Get time
|
// Get time
|
||||||
|
@ -869,10 +869,9 @@ int TegraRcm::Smasher(TCHAR args[4096], BOOL bInheritHandles)
|
||||||
CString csPath2(csPath);
|
CString csPath2(csPath);
|
||||||
csPath.Append(TEXT(".\\TegraRcmSmash.exe "));
|
csPath.Append(TEXT(".\\TegraRcmSmash.exe "));
|
||||||
TCHAR cmd[4096];
|
TCHAR cmd[4096];
|
||||||
_tcscpy_s(cmd, csPath);
|
_tcscpy_s(cmd, 4095, csPath);
|
||||||
lstrcat(cmd, args);
|
lstrcat(cmd, args);
|
||||||
|
|
||||||
|
|
||||||
SECURITY_ATTRIBUTES sa;
|
SECURITY_ATTRIBUTES sa;
|
||||||
sa.nLength = sizeof(sa);
|
sa.nLength = sizeof(sa);
|
||||||
sa.lpSecurityDescriptor = NULL;
|
sa.lpSecurityDescriptor = NULL;
|
||||||
|
@ -1126,7 +1125,7 @@ char* TegraRcm::GetRelativeFilename(char *currentDirectory, char *absoluteFilena
|
||||||
if (currentDirectory[0] != absoluteFilename[0])
|
if (currentDirectory[0] != absoluteFilename[0])
|
||||||
{
|
{
|
||||||
// not on the same drive, so only absolute filename will do
|
// not on the same drive, so only absolute filename will do
|
||||||
strcpy(relativeFilename, absoluteFilename);
|
strcpy_s(relativeFilename, MAX_FILENAME_LEN, absoluteFilename);
|
||||||
return relativeFilename;
|
return relativeFilename;
|
||||||
}
|
}
|
||||||
// they are on the same drive, find out how much of the current directory
|
// they are on the same drive, find out how much of the current directory
|
||||||
|
@ -1147,7 +1146,7 @@ char* TegraRcm::GetRelativeFilename(char *currentDirectory, char *absoluteFilena
|
||||||
// file name should not have a leading one...
|
// file name should not have a leading one...
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
strcpy(relativeFilename, &absoluteFilename[i]);
|
strcpy_s(relativeFilename, MAX_FILENAME_LEN, &absoluteFilename[i]);
|
||||||
return relativeFilename;
|
return relativeFilename;
|
||||||
}
|
}
|
||||||
// The file is not in a child directory of the current directory, so we
|
// The file is not in a child directory of the current directory, so we
|
||||||
|
@ -1192,6 +1191,6 @@ char* TegraRcm::GetRelativeFilename(char *currentDirectory, char *absoluteFilena
|
||||||
relativeFilename[rfMarker++] = SLASH;
|
relativeFilename[rfMarker++] = SLASH;
|
||||||
}
|
}
|
||||||
// copy the rest of the filename into the result string
|
// copy the rest of the filename into the result string
|
||||||
strcpy(&relativeFilename[rfMarker], &absoluteFilename[afMarker]);
|
strcpy_s(&relativeFilename[rfMarker], MAX_FILENAME_LEN, &absoluteFilename[afMarker]);
|
||||||
return relativeFilename;
|
return relativeFilename;
|
||||||
}
|
}
|
|
@ -64,7 +64,7 @@ public:
|
||||||
BOOL SetTrayIcon(WORD wIconID);
|
BOOL SetTrayIcon(WORD wIconID);
|
||||||
void ShowContextMenu(HWND hWnd);
|
void ShowContextMenu(HWND hWnd);
|
||||||
BOOL DestroyTrayIcon();
|
BOOL DestroyTrayIcon();
|
||||||
LRESULT OnTrayIconEvent(UINT wParam, LPARAM lParam);
|
LRESULT OnTrayIconEvent(WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
BOOL PAUSE_LKP_DEVICE = FALSE;
|
BOOL PAUSE_LKP_DEVICE = FALSE;
|
||||||
BOOL AUTOINJECT_CURR = FALSE;
|
BOOL AUTOINJECT_CURR = FALSE;
|
||||||
|
@ -72,6 +72,7 @@ public:
|
||||||
BOOL WAITING_RECONNECT = FALSE;
|
BOOL WAITING_RECONNECT = FALSE;
|
||||||
BOOL ASK_FOR_DRIVER = FALSE;
|
BOOL ASK_FOR_DRIVER = FALSE;
|
||||||
BOOL MIN_TO_TRAY_CURR = FALSE;
|
BOOL MIN_TO_TRAY_CURR = FALSE;
|
||||||
|
BOOL LOGGING_CURR = FALSE;
|
||||||
|
|
||||||
CString csPath;
|
CString csPath;
|
||||||
COLORREF LabelColor = RGB(0, 0, 0);
|
COLORREF LabelColor = RGB(0, 0, 0);
|
||||||
|
|
Binary file not shown.
|
@ -22,13 +22,13 @@
|
||||||
<ProjectGuid>{2C091C5B-378F-44D0-91F2-53489BA7B83C}</ProjectGuid>
|
<ProjectGuid>{2C091C5B-378F-44D0-91F2-53489BA7B83C}</ProjectGuid>
|
||||||
<RootNamespace>TegraRcmGUI</RootNamespace>
|
<RootNamespace>TegraRcmGUI</RootNamespace>
|
||||||
<Keyword>MFCProj</Keyword>
|
<Keyword>MFCProj</Keyword>
|
||||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v140</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<UseOfMfc>Dynamic</UseOfMfc>
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -38,12 +38,12 @@
|
||||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<UseOfMfc>Dynamic</UseOfMfc>
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
<PlatformToolset>v140</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<PlatformToolset>v140</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<UseOfMfc>Dynamic</UseOfMfc>
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
<UseOfMfc>Dynamic</UseOfMfc>
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
<PlatformToolset>v140</PlatformToolset>
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
@ -78,12 +78,15 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)\Output\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>Output\$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<OutDir>$(SolutionDir)\Output\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>Output\$(Platform)\$(Configuration)\</IntDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
|
@ -97,7 +100,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>Version.lib;libusbK.lib</AdditionalDependencies>
|
<AdditionalDependencies>Version.lib;libusbK.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<AdditionalLibraryDirectories>$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -117,15 +120,15 @@
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(LIBUSBK_DIR)\includes\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
|
||||||
<AdditionalLibraryDirectories>$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(LIBUSBK_DIR)\bin\lib\$(PlatformShortName.Replace('x64','amd64'))\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<AdditionalDependencies>Version.lib;libusbK.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<Midl>
|
<Midl>
|
||||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||||
|
|
|
@ -101,6 +101,10 @@ END_MESSAGE_MAP()
|
||||||
//
|
//
|
||||||
BOOL CTegraRcmGUIDlg::OnInitDialog()
|
BOOL CTegraRcmGUIDlg::OnInitDialog()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
m_TegraRcm = new TegraRcm(this);
|
||||||
|
m_TegraRcm->AppendLog("new TegraRcm()");
|
||||||
|
|
||||||
CDialog::OnInitDialog();
|
CDialog::OnInitDialog();
|
||||||
|
|
||||||
// Accessibility
|
// Accessibility
|
||||||
|
@ -187,9 +191,6 @@ BOOL CTegraRcmGUIDlg::OnInitDialog()
|
||||||
SetIcon(m_hIcon, TRUE); // Set big icon
|
SetIcon(m_hIcon, TRUE); // Set big icon
|
||||||
SetIcon(m_hIcon, FALSE); // Set small icon
|
SetIcon(m_hIcon, FALSE); // Set small icon
|
||||||
|
|
||||||
m_TegraRcm = new TegraRcm(this);
|
|
||||||
m_TegraRcm->AppendLog("new TegraRcm()");
|
|
||||||
|
|
||||||
// Kill other running process of app
|
// Kill other running process of app
|
||||||
m_TegraRcm->KillRunningProcess(TEXT("TegraRcmGUI.exe"));
|
m_TegraRcm->KillRunningProcess(TEXT("TegraRcmGUI.exe"));
|
||||||
|
|
||||||
|
@ -326,7 +327,7 @@ void CTegraRcmGUIDlg::OnClose()
|
||||||
PostQuitMessage(0);
|
PostQuitMessage(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
LRESULT CTegraRcmGUIDlg::OnTrayIconEvent(UINT wParam, LPARAM lParam)
|
LRESULT CTegraRcmGUIDlg::OnTrayIconEvent(WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
return m_TegraRcm->OnTrayIconEvent(wParam, lParam);
|
return m_TegraRcm->OnTrayIconEvent(wParam, lParam);
|
||||||
}
|
}
|
||||||
|
@ -445,7 +446,7 @@ void CTegraRcmGUIDlg::StopTimer()
|
||||||
KillTimer(ID_TIMER_MINUTE);
|
KillTimer(ID_TIMER_MINUTE);
|
||||||
KillTimer(ID_TIMER_SECONDS);
|
KillTimer(ID_TIMER_SECONDS);
|
||||||
}
|
}
|
||||||
void CTegraRcmGUIDlg::OnTimer(UINT nIDEvent)
|
void CTegraRcmGUIDlg::OnTimer(UINT_PTR nIDEvent)
|
||||||
{
|
{
|
||||||
// Each second
|
// Each second
|
||||||
if (nIDEvent == ID_TIMER_SECONDS)
|
if (nIDEvent == ID_TIMER_SECONDS)
|
||||||
|
|
|
@ -90,14 +90,14 @@ protected:
|
||||||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
||||||
afx_msg HCURSOR OnQueryDragIcon();
|
afx_msg HCURSOR OnQueryDragIcon();
|
||||||
afx_msg void OnDestroy();
|
afx_msg void OnDestroy();
|
||||||
afx_msg LRESULT OnTrayIconEvent(UINT wParam, LPARAM lParam);
|
afx_msg LRESULT OnTrayIconEvent(WPARAM wParam, LPARAM lParam);
|
||||||
DECLARE_MESSAGE_MAP()
|
DECLARE_MESSAGE_MAP()
|
||||||
afx_msg LRESULT OnQueryEndSession(WPARAM wParm, LPARAM lParm);
|
afx_msg LRESULT OnQueryEndSession(WPARAM wParm, LPARAM lParm);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void StartTimer();
|
void StartTimer();
|
||||||
void StopTimer();
|
void StopTimer();
|
||||||
void OnTimer(UINT nIDEvent);
|
void OnTimer(UINT_PTR nIDEvent);
|
||||||
int STATUS;
|
int STATUS;
|
||||||
afx_msg void BitmapDisplay(int IMG);
|
afx_msg void BitmapDisplay(int IMG);
|
||||||
|
|
||||||
|
|
BIN
TegraRcmGUI/res/bunch-of-keys.ico
Normal file
BIN
TegraRcmGUI/res/bunch-of-keys.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
Binary file not shown.
1
TegraRcmGUI/tools/src/biskeydump
Submodule
1
TegraRcmGUI/tools/src/biskeydump
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ed57dd5032840ab7084bcd76e8b9408dd7245958
|
Loading…
Add table
Reference in a new issue