par274/sharpemu
요약
C#으로 개발된 실험적인 PlayStation 5 에뮬레이터인 SharpEmu를 소개합니다. 시스템 아키텍처 연구와 역공학 교육을 목적으로 하며, 현재 네이티브 CPU 명령어 실행 및 커널 기능의 부분적 구현을 목표로 개발 중입니다.
핵심 포인트
- C# 기반의 실험적인 PS5 에뮬레이터 프로젝트
- 시스템 아키텍처 및 역공학 연구/교육 목적
- Windows, Linux, macOS 플랫폼 지원
- 네이티브 CPU 명령어 실행 및 커널 기능 일부 구현
- Vulkan 및 MoltenVK를 통한 그래픽 출력 지원
Windows, Linux 및 macOS를 위한 실험적인 PlayStation 5 에뮬레이터입니다.
개발 업데이트, 호환성 논의, 지원 및 커뮤니티 채팅을 위해 Discord에 참여하세요.
참고
SharpEmu는 Windows x64, Linux x64 및 macOS x64를 지원합니다. Apple Silicon Mac은 Rosetta 2를 통해 macOS x64 빌드를 실행할 수 있습니다.
경고
SharpEmu는 C#으로 처음부터 개발된 실험적인 PS5 에뮬레이터입니다. 현재의 초점은 게임별 호환성보다는 정확도와 인프라 구축에 있습니다.
SharpEmu는 현재 개발 초기 단계에 있는 에뮬레이터 프로젝트입니다.
이 프로젝트는 순수하게 연구 및 교육 목적으로 개발되었습니다. 이와 관련된 상업적 목표는 없습니다. 우리는 시스템 아키텍처와 역공학 (Reverse Engineering)에 대해 배우는 것을 즐깁니다.
SharpEmu는 오로지 PlayStation 5에만 집중합니다.
우리의 목표는 PS4 게임을 에뮬레이션하는 것이 아닙니다. 해당 플랫폼을 위한 훌륭한 에뮬레이터인 ShadPS4가 이미 존재하기 때문입니다.
| Demons Souls Remake | Dreaming Sarah |
|---|---|
| Void Terrarium | Dead Cells |
|---|---|
이 에뮬레이터는 현재 실제 게임의 eboot.bin을 로드하고, 네이티브 CPU 명령어를 실행하며, 커널 관련 기능을 부분적으로 처리할 수 있습니다. 하지만 몇 가지 중요한 구성 요소가 여전히 누락된 상태입니다.
현재 기능은 다음과 같습니다:
eboot.bin및.elf파일 로딩- 네이티브 CPU 명령어 실행
- 기본적인 게임 메타데이터 (제목, 버전 등) 읽기
- 시스템 모듈 (
prx/sys_module) 로딩 - 일부 커널 함수 (
Fiber및AMPRexports)에 대한 부분적 지원 - PlayGo 시나리오
- 초기 게임 파일 로딩
- 셰이더/리소스 제출 및 AGC 초기화
- 일부 게임에서의 비디오 출력
일부 게임은 sceVideoOut 및 AGC 단계에 도달했습니다.
SharpEmu는 Windows, Linux 및 macOS 호스트를 지원합니다. 비디오 출력은 Windows 및 Linux에서는 Vulkan을 사용하고, macOS에서는 MoltenVK를 사용합니다. 플랫폼 지원은 여전히 실험적이므로, 호환성과 성능은 게임, 운영 체제 및 GPU 드라이버에 따라 다릅니다.
사용 중인 운영 체제에 맞는 릴리스 아카이브 (release archive)를 다운로드하여 압축을 해제한 후, 합법적으로 취득한 게임의 eboot.bin 경로를 지정하여 SharpEmu를 실행하세요.
Windows PowerShell:
.\SharpEmu.exe "C:\path\to\game\eboot.bin" 2>&1 |
Tee-Object -FilePath "SharpEmu.log"
Linux 및 macOS:
chmod +x ./SharpEmu
./SharpEmu "/path/to/game/eboot.bin" 2>&1 |
tee SharpEmu.log
Vulkan을 지원하는 GPU와 최신 그래픽 드라이버가 필요합니다. macOS 릴리스에는 MoltenVK Vulkan 구현체가 포함되어 있습니다.
중요
이 프로젝트는 불법 복제 (piracy)를 지원하거나 용인하지 않습니다.
개발 및 테스트 중에 사용된 모든 게임은 저희가 개인적으로 소유한 콘솔에서 덤프 (dump)한 것입니다.
사용자는 합법적으로 취득한 게임 복사본을 사용해야 합니다.
-
global.json에 명시된 .NET SDK 버전을 설치하세요. -
저장소 (repository)를 클론 (clone)하세요:
git clone https://github.com/sharpemu/sharpemu.git -
VSCode에서 솔루션 파일 (
SharpEmu.slnx)을 여세요. -
프로젝트를 빌드 (build)하세요:
dotnet build또는dotnet publish -
빌드 결과물 (artifacts)은
artifacts디렉토리에 위치합니다.
SharpEmu는 연구 및 교육 목적으로 제작된 실험적인 에뮬레이터 (emulator)입니다.
이 프로젝트에는 저작권이 있는 시스템 펌웨어 (firmware), 게임 데이터 또는 독점적인 PlayStation 자산이 포함되어 있지 않습니다.
다음 프로젝트들은 개발 과정에서 매우 큰 도움이 되었습니다:
- ShadPS4: PlayStation 4의 기본 아키텍처 (architecture)를 이해하는 데 도움을 주었습니다.
- Kyty: 이용 가능한 몇 안 되는 PS5 에뮬레이터 프로젝트 중 하나로, 네이티브 코드 실행 (native code execution)을 연구하는 데 매우 유용합니다.
- Ryujinx: 파일 시스템 (filesystem) 처리 및 저수준 (low-level) C# 구현 패턴에 대한 귀중한 참조 자료를 제공했습니다.
이슈 (issue)를 생성하거나 풀 리퀘스트 (pull request)를 보내기 전에, 저희의 기여 가이드라인 (contribution guidelines)을 읽어주시기 바랍니다:
가이드라인에는 다음 내용이 포함되어 있습니다:
- 코딩 스타일 (coding style) 및 포맷팅 (formatting)
- AI 지원 기여 (AI-assisted contributions)
- 풀 리퀘스트 (pull request) 기대 사항
- 테스트 가이드라인 (testing guidelines)
- 법적 사항 및 리버스 엔지니어링 (reverse engineering) 정책
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기