banner

블로그

Jul 04, 2023

방법: 2023년에 PS4 홈브루 만들기(튜토리얼 같은)

작성자: wololo · 2023년 8월 26일

나는 오래된 PS4를 선반에서 꺼내서 PS4용 홈브류를 만드는 것이 얼마나 쉬워졌는지 알아보기로 결정했습니다. 지난번에 진지하게 살펴봤던 이후로, 그것은 오래 전이었습니다.

좋은 소식: PS4 홈브류를 만드는 방법에 대한 좋은 튜토리얼이 이미 있으며, 2023년에도 여전히 매우 유효하며 대부분 필요한 모든 것입니다. 나쁜 소식은 Google/Bing이 표면화하려는 것처럼 보이는 쓰레기 바다에서 놀랍게도 찾기가 어렵다는 것입니다. "PS4 홈브루 만드는 방법"이나 "PS4 홈브루 튜토리얼"과 같은 겉으로는 간단한 쿼리로는 특별히 흥미로운 결과를 얻지 못했습니다(적어도 나에게는). 그러나 나는 궁극적으로 올바른 것을 찾는 길을 찾았습니다 🙂

이 가이드에서는 다음에 중점을 둘 것입니다.윈도우와 비주얼 스튜디오, 그러나 일반적으로 제가 가리키는 가이드와 리소스는 Linux 및 MacOS에도 유효합니다.

이 가이드에서는 귀하가 다음 사항에 대해 잘 알고 있다고 가정합니다.

이 섹션만으로도 시작하기에 충분합니다. 그러나 일단 완료되면 디버깅 환경을 설정하십시오(아래 디버깅 참조). 문제가 발생하면 문제 해결 섹션을 확인하세요.

무엇이든 다운로드하거나 설치하기 전에 아래 5가지 사항을 처음부터 끝까지 읽어보세요. 특히 Spectre의 첫 번째 비디오는 전체 설치 과정(아래 항목 2의 전체 내용)을 안내합니다! 그리고 솔직히,SpecterDev의 비디오 시리즈는 아마도 이 튜토리얼을 읽고 싶지 않은 경우 실제로 필요한 유일한 것일 것입니다.

위의 5단계는 해킹된 PS4용 Homebrew를 시작하고 생성하는 데 충분합니다. PS4용 홈브류를 만드는 다른 방법이 있지만(유명하게도 Unity를 사용하여 유출된 공식 Sony SDK를 통한 방법 포함)OpenOrbis 툴체인은 2023년에 커뮤니티에서 지원되는 최신 버전의 "도구"입니다. . 그리고 툴체인과 해당 종속성에 익숙해지면 필요한 경우 최신 및 최고의 버전으로 업데이트할 수 있습니다.

그럼에도 불구하고 Windows 컴퓨터에서 홈브류 환경을 설정하고 실행하려는 과정에서 다음과 같은 문제가 발생했습니다. 그 중 일부는 여러분에게도 발생할 수 있습니다.

이는 실행 중인 펌웨어보다 높은 펌웨어용으로 만들어진 PS4 애플리케이션을 실행하려고 할 때 발생하는 오류인 것 같습니다. 특히 낮은 펌웨어로 PS4 게임을 "백포트"하려는 사람들은 이 문제에 대해 잘 알고 있습니다.

내 경우와 Homebrew 개발의 맥락에서 내 PS4는 펌웨어 4.05에 있고 OpenOrbis Toolchain은 펌웨어 4.5x 이상을 지원하도록 작성되었기 때문에 이런 일이 발생했습니다. 선택은 임의적이었지만(툴체인을 생성할 때 SDK 4.508.101이 최신 SDK 번호로 선택됨) 이론적으로는 해당 SDK 버전을 적절한 버전으로 교체하여 Homebrew를 4.05에서 작동하도록 패치할 수 있습니다. Toolchain의 파일을 수정하는 데 개인적으로 애쓰지 않기로 결정하고 PS4를 펌웨어 5.05로 업그레이드했습니다.

Mira와 GoldHEN은 터미널에서 Homebrew 로그의 런타임 출력을 얻는 방법을 제공합니다(아래 "디버깅" 참조). 하지만 PS4 툴체인에 제공된 샘플에 대한 테스트에서는 해당 항목이 표시되지 않았습니다. LLVM 버전과 기타 요인에 따라 libc가 printf를 잘못된 파이프로 리디렉션할 수 있는 것으로 보입니다(이에 대해 언급하지 마세요). Illusion이 제안한 해결책은 PS4의 내부 libc를 일반 libc보다 우선적으로 사용하는 것이었습니다. 이는 라이브러리 세트 섹션에 -lSceLibcInternal을 추가하여 수행되었습니다.빌드.bat파일, -lc 이전:

Visual Studio 자체 내에서 OpenOrbis VS 템플릿을 "설치"하는 방법을 찾지 못했습니다. 할 수 있는 유일한 일은 해당 파일을 추출하지 않고 C:\Users\[사용자]\Documents\Visual Studio 20xx\Templates\ProjectTemplates\Visual C++ Project 폴더에 복사하는 것입니다.

Spectre는 다음과 같이 상위 폴더에서도 작동한다고 언급합니다.

둘 중 하나가 작동해야 하며 Visual Studio에서 새 프로젝트를 만들 때 템플릿이 준비되어 있어야 합니다. 이러한 템플릿을 사용하면 프로젝트를 만들 수 있지만 더 중요한 것은 make 및 패키지 만들기 명령을 수동으로 실행하는 대신 Visual Studio "빌드" 버튼을 사용하여 프로젝트를 빌드할 수 있다는 것입니다. 이는 말할 필요도 없지만 이러한 Visual Studio 템플릿은 수동으로 수행할 수 있는 작업에 대한 바로 가기일 뿐 어떤 마법도 수행하지 않습니다. 당신은 그것들이 "필요"하지는 않지만 몇 가지를 추상화하는 훌륭한 도우미입니다.

공유하다