본문으로 바로가기 »

PSP 에뮬레이터 (PPSSPP)

< >

과거 에뮬레이터들은 성능이 미약하여 몇가지 게임을 제외하곤 PC에서 돌리기가 버거웠던게 사실이다. 또한 각종 버그도 존재했고 관련 개발이 활성화되어 있지도 않았기에 가까이하기엔 너무 먼 당신이였다. 우연히 SD건담 시리즈를 검색하던 차에 PSP로 제작되었던 SD건담 G제네레이션 오버월드에 대한 정보를 얻게 되었고 해당 게임을 PPSSPP를 통해 구동하고 있는 것을 확인하였고 시험삼아 테스트해보니 무리없이 구동이 됨을 확인하였다. 그리하여 관련정보를 찾을 분들을 고려하여 정보를 요약해본다.

PPSSPP 소개

PSP 게임을 PC 및 안드로이드 기기에서 풀 HD 해상도로 구동하는 에뮬레이터로, 기존의 PSP 에뮬레이터로 유명한 jpcsp의 약점인 자바대신 C++로 개발 중이며, 오픈소스다. PSP CPU를 JIT을 사용하여 x86, x64 와 ARM에 최적화된 코드로 재구성하며, OpenGL ES 2.0을 지원하는 ARM 기반의 휴대폰과 태블릿같은 매우 낮은 사양의 하드웨어에서 실행 가능하다.

PPSSPP 특징

  • HD 해상도 혹은 그 이상의 해상도를 지원한다.
  • 윈도우즈, 리눅스, Mac OS, 안드로이드, iOS, 블랙베리등의 다양한 기기를 지원한다.
  • 터치 스크린 혹은 각종 게임패드, 키보드등을 지원한다.
  • 언제든지 게임을 저장하고 복구할 수 있다.
  • 바이오스가 따로 필요 없다.(PSP 자체가 내부 OS)
  • PC버전의 경우 매우 빠른 속도를 지원하지만 모바일기기에서는 그렇지 않을 수도 있다는 것에 유념

PPSSPP 한글 설정

현재 버전은 한글 지원이 완벽하진 않아 시스템상에 "?" 와 같이 깨어진 문자가 섞여 출력되기도 한다. 그렇지만 한글을 지원하는 게임의 경우 막상 게임 안에서는 정상적으로 출력된다. PSP에서 정식으로 한글화가 된 것이 아닌 한글화 팀에서 한글패치판을 따로 제공하는 경우가 있는데 이 경우 한글 폰트(몬헌폰트라 불리는)를 따로 설치해야 한다. 아래는 대표적인 몬스터헌터3rd의 한글 폰트이다. 해당 파일을 윈도우 버전의 경우 ppsspp 폴더의 flash0\font\에 복사한다(덮어쓰기). 안드로이드의 경우 PSP 폴더에 flash0\font 폴더를 생성하여 넣어준다

jpn0.pgf

PPSSPP 오류 해결

우선적으로, 홈페이지에서 가장 최신의 버전을 다운받아 실행해보길 권장한다.
  • msvcp120.dll 에러 : Visual C++ 재배포 가능 패키지를 설치한다. 이후에도 구동되지 않는다면 자신의 그래픽카드에 맞는 최신의 DirectX와 OpenGL 드라이버를 설치해 본다.

PPSSPP DLC 설치법

PSP에서 설치하는 방식과 똑같은 방식으로, 메모리 스틱의 PSP/GAME 혹은 PSP/SAVEDATA에 파일을 복사한다.

  • 안드로이드 버전 : PPSSPP에서는 메모리 스틱이 SD카드 혹은 휴대폰의 USB 스토리지이며, PPSSPP가 PSP라는 폴더를 루트에 생성한다.
  • 윈도우 버전 : 메모리스틱은 PPSSPP 폴더내부의 "memstick" 이다.
  • iOS 버전 : /User/Documents/PSP/
  • Mac/Linux : ~/.config/PPSSPP

PPSSPP 치트키 사용법

  1. PPSSPP의 게임설정 > 시스템 탭의 치트 - 치트 활성화에 체크한다.
  2. 치트를 적용하고 싶은 게임을 실행한 후 게임내에서 저장(SAVE)을 한 후 PPSSPP를 종료한다.
  3. PSP 폴더안의 SAVEDATA 폴더에 생성된 폴더명(ex. ULJM05043IHXSYS) 을 기억한다.
  4. PSP 폴더에 Cheats 폴더를 생성한다.(안드로이드는 PSP 폴더에, 윈도우 버전은 memstick/PSP)
  5. Cheats 폴더안에 txt 파일을 하나 생성하고 파일명을 위에서 생성된 폴더명(ULJM05043IHXSYS)으로 확장자는 ini로 변경한다.(ULJM05043IHXSYS.ini)
  6. 생성한 파일에 해당 게임의 치트키를 검색, 복사해서 붙여넣고 저장한다.(PPSSPP 치트 게시판)
  7. PPSSPP로 해당 게임을 실행하고 게임중에 기기의 뒤로가기를 누른 다음, 우측 메뉴 3번째의 치트를 선택하고 원하는 치트를 체크한다.

PPSSPP 게임 설정

기본적으로 설정되어 있는 상태 그대로를 사용해도 문제가 없을 수 있으나 경우에 따라서는 직접 제어해줘야 하는 부분이 생길 수 있다(구동하려는 게임에 따라 상이할 수 있음).

그래픽(Graphics)

렌더링 방식(Rendering Mode)

방식(Mode) : PSP는 VRAM과 스캔아웃(화면에 표시되는 내용)버퍼나 텍스처(texture) 중 하나를 사용하여 어디든지 렌더링 할 수 있다. 많은 게임들이 단순히 초당 30프레임을 구현하기 위해서나 특수 효과를 위해 이를 사용한다. 우리는 모든 PSP 프레임버퍼 위치를 OpenGL FBO에 할당하여 이 작업을 시물레이션 한다. 스피드핵을 비활성하면 일부 게임에서 속도 향상이 이루어지지 않을수 있으며, 화면 깜박임 혹은 그래픽 저하의 원인이 될 수 있다. 이 옵션을 비활성화함으로써, 2배 슈퍼 샘플링을 할 수 있는 능력을 상실하게 된다.

프레임 비율 제어(Framerate control)
  • 프레임 생략(Frameskipping) : 특히 모바일 플랫폼에서, 그래픽 렌더링은 병목현상이 있다. 따라서 매 다른 프레임 혹은 그 이상에서 렌더링 과정을 생략함으로써 속도를 개선시킬 수 있다. 단점은 프레임 속도가 감소하고 멀티스레딩과 결합하면 깜박거리는 문제가 발생할 수 있다.
  • 자동 프레임 스킵
  • FPS 60 초과 방지(Force 60 FPS or less) - 갓 오브 워 속도 증가 : 일부 게임(갓 오브 워 같은)은 렌더링과 관련된 버그가 있다. 이 값은 이 게임들을 검사하고 재생하는데 도움을 준다.
  • 고정 속도
특징(Features)
  • 후 처리 셰이더 : 버퍼링된 렌더링이 활성화 되어야 이 옵션을 사용 할 수 있다.
    • 끄기(off) : 모두 사용 안함
    • FXAA Antialiasing : 통상적인 렌더링을 진행하고 나서 안티 앨리어싱 처리를 하기 때문에 오브젝트뿐만이 아니라 재질감의 계단현상에도 대응한다.
    • CRT 스캔라인 : 도트 그래픽을 원래 모습에 가깝게 즐기기 위해 LCD 모니터를 CRT와 비슷한 느낌을 주도록 만드는 방법
    • Natural Colors
    • 비네트(Vignette) : 세피아 톤(오래된 학교 사진)으로 렌더링
    • 그레이스케일(Grayscale) : 흑백으로 렌더링
    • 블룸(Bloom) : 빛이 퍼져 보이는 효과와 같은 일명 뽀샤시
    • Inverse Colors : 반전색상
    • Scanlines(CRT) : 수평 라인을 그려 CRT 화면같은 효과를 준다.
    • 카툰 : 화면의 색상을 강조하고 표현을 단순화
    • 4배 HQ GLSL(OpenGL 쉐이딩 언어) : 보기좋게 부드러운 효과를 적용
    • AA-Color : 내부해상도VeryHigh-X 를 사용할 수 없는 비디오카드에서 보기좋은 화상이 나온다.
    • Spline36 Upscaler : 저해상도 콘텐츠를 고해상도로 확대
  • 전체화면 : 화면을 전체화면으로 전환 (F11)
  • 화면늘이기 : 화면의 크기를 늘린다. 이것은 종횡비(aspect ratio)를 무시한다.
성능(Performance)
  • 렌더링 해상도(Rendering Resolution)
  • 수직 동기(Vsync, 윈도우 버전) : 기기들의 화면은 초당 여러번 새로고침(보통 60회) 된다. 만일 이 옵션이 활성화되면 PPSSPP는 매번 새로고침 될때마다 그린다. 이것은 훨씬 부드러워 보이게 하지만 높은 성능을 필요로 한다. 이 옵션을 사용하지 않도록 설정하면 성능 향상을 제공한다.
  • 맵맵핑(Mipmapping) : 밉맵핑을 비활성화하면 성능 향상을 부여하지만, PPSSPP를 약간 흐릿하게 하는 원인이 된다.
  • 하드웨어 변환(Hardware Transform) : 버텍스 셰이더는 프로세서에서 해야 할 일 대신에 하드웨어(GPU 혹은 비디오카드)에서 필요로 하는 모든 복잡한 계산을 한다. 활성화 된 경우 더 빠르고 향상된 성능을 제공한다.
  • 소프트웨어 스키닝 : CPU에서 모든 스킨 프로세싱을 다루게 되는 방식
  • 버텍스 캐시(Vertex Cache) : 활성화되면 성능 향상을 제공한다.
  • 게으른 텍스처 캐싱(속도상승)
  • 변경된 텍스처 유지(속도상승,메모리점유)
  • slower effects 비활성 (속도상승)
  • 낮은 품질의 스플라인 및 베지어 곡선(속도증가) : 컴퓨터는 베지어 곡선으로 곡선을 그릴 방정식을 이용한다. 그러나 이 방정식은 연산 집약적이다. 따라서, 이 방정식의 낮은 품질 버전이 더 나은 성능을 제공하지만 더 열약해 보인다. 이 옵션을 사용하면 그래픽 충실도의 비용으로 성능향상을 제공할 것이다.
텍스처 크기 조절(Texture Scaling)

텍스처 크기조절은 텍스처 디테일을 개선하지만, 그것은 매우 많은 과정을 거치므로 느려지는 원인이 된다. PSP 게임은 PSP의 낮은 해상도와 RAM 및 사용가능한 VRAM의 부족으로 필요하지 않는 한 보통 매우 낮은 텍스처 디테일을 가진다. 텍스쳐 크기조절 기능은 세부적인 텍스처 디테일의 일루전을 제공하는 고품질의 스케일링 필터를 사용한다. 예술적으로 향상되지 않지만 일부 게임은 매우 향상된다.

매우 높은 해상도에서 실행하지 않는한 x3 텍스처 크기조절을 넘어도 일반적으로 문제가 없다.

  • 확대 수준(Upscale Level)
  • 확대 종류(Upscale Type) : 확대에 사용되는 다양한 알고리즘이 있다. 여기에서는 특정 알고리즘을 선택할 수 있다.
    • xBRZ
    • 혼합
    • 쌍입방
    • 혼합+쌍입방
  • 색조 융합
텍스처 필터링
  • 비등방성 필터링(AF) : "이방성 필터링"이라고도 하는 이 기술은 안티에일리어싱과 같이 게임에서 주로 사용되는 기술로, 3D 게임에서 원거리 텍스처를 샘플링해 선명하게 보여준다. 텍스쳐(비트멥그래픽)의 크기 변화(오버/언더 샘플링)에 따른 Aliasing효과를 제거함(즉 텍스쳐 전문의 안티알리아싱 기술의 일종이다)과 동시에 매우 높은 시야각을 제공한다. 안티에일리어싱과 다르게 크게 16x까지 먹여도 프레임에 그다지 큰 영향은 주지 않는다. 이 기법은 현재 현대의 그래픽 하드웨어 및 그래픽 드라이버 관리 프로그램에서 손쉽게 조정, 적용할 수 있게 되었는데 90년대 말에서나 사용자들이 보편적으로 사용할 수 있게 되었다.< /li>
  • 텍스처 필터링
    • 자동
    • 근접 필터링(Nearest point sampling) : 디폴트 필터링 방식이며 가장 떨어지는 품질의 결고를 만들어 내지만 또한 가장 빠른 속도를 가진다.
    • 선형 필터링(Linear filtering) : 비교적 높은 품질의 결과물을 만들어내며 속도또한 비교적 빠른편이다. 보통은 최소한 선형 필터링을 이용하는 것이권장된다.
    • FMV(Full Motion Video)에 선형 필터링
핵설정(Hack Settings) : 이 옵션들은 최근에 오류의 원인이 되고있다.

이 옵션들은 우리가 제대로 에뮬레이트 할 수 없거나 속도 향상을 할 수 없는 것들에 대한 해결방법이 될 수 있다.

  • 타이머 핵
  • Disable Alpha Test(PowerVR speedup) : 이 PowerVR 칩셋을 사용하는 장치의 성능 향상을 생성하는 것으로 나타났다.
  • 스텐실 테스트 비활성화(Disable Stencil Test )
  • 항상 깊이 쓰기(세인트 Ω, 건담 AGE 수정)
  • 스피드핵 텍스처 좌표(속도 증가)
오버레이 정보
  • FPS 카운터 표시 : 오른쪽 상단 모서리에서 성능 카운터를 표시한다.
    • 속도(Speed) : 가상프로세서 속도를 표시?
    • FPS : 초당 렌더링되는 프레임 수
    • 모두 표시(Both) : FPS와 속도 둘다 보여줌
  • 디버그 통계 표시 : 게임 디버깅에 매우 유용한 실시간 정보를 표시한다. 이것은 주로 개발자 옵션이며 다른 사람에게 쓸모가 없다.
디버깅
  • 로그에 다음 프레임 덤프(Dump next frame to log) : 이 옵션은 게임 내에서만 접근 할 수 있다. 로그 파일에 다음 프레임 동안 PPSSPP의해 생성된 전체 로그를 덤프한다. 이것은 개발자들에게 버그를 보내는 보고서로 유용하다.
  • 소프트웨어 렌더링(실험적) : 이 옵션은 실험적이다. 전용 GPU가 없는 컴퓨터에서 소프트웨어 렌더러를 사용할 수 있다. 그러나 이것은 느리게 주문 될 것이고 일반적으로 재생할 수 없다.

오디오(Audio)

오디오
  • SFX 볼륨 : 특수 효과의 음량 조절
  • BGM 볼륨 : 배경 음향 음량 조절
  • 사운드 활성화(Enable Sound) : 모든 음향 비활성화
  • Audio Latency : 오디오 지연을 줄일 수 있는 실험적인 기능.
오디오핵
  • 사운드 스피드 핵(데드 오어 얼라이브등)

컨트롤(Controls)

컨트롤
  • 컨트롤 맵핑(Control Mapping) : 키보드, 게임 패드 및 가상 버튼에 PSP 컨트롤을 리바인드한다.
  • 햅틱 피드백(진동, 안드로이드) : 이 옵션을 활성화하면, 버튼을 누를 때마다 진동한다. 모바일 장치의 촉각 피드백에 유용하다.
  • 기울기 입력 방식(안드로이드)
  • 기울기 사용자화...(안드로이드)
화면 터치 컨트롤(On-screen touch controls)
  • 화면 터치 컨트롤 : 이 옵션은 터치 화면을 활성화한다. 하드웨어 버튼이 없는 휴대폰과 태블릿과 같은 기기에서 유용하다.
  • 터치 컨트롤 레이아웃 편집 : 버튼들의 위치나 크기, 보임/숨김등을 조정
  • 일시정지 메뉴 버튼 표시
  • 십자 패드 대각선 비활성(4방향 터치)
  • Button Opacity : 터치 컨트롤 버튼들의 투명도를 설정
  • 버튼 스타일 : 버튼 스타일을 설정
키보드 조작 설정
  • 윈도우 키 무시하기(윈도우 버전)
  • Analog Limiter

시스템(System)

UI 언어(UI Language)
  • 언어 : PPSSPP의 기본 언어를 변경
에뮬레이션(Emulation)
  • 빠른 메모리(불안정, Fast Memory) : 이 옵션은 메모리에 접근하는 모든 게임이 유효한 것으로 간주한다. 따라서 속도가 증가하지만, 게임이 잘못된 메모리에 접근하는 경우에는 충돌을 야기한다.
  • 멀티스레드(실험적, Multithreaded) : 이 옵션은 동시에 여러 작업을 수행 할 수 있게 한다. 성능 향상에 도움이 되지만, 충돌의 원인 되기도 한다.(경쟁 조건을 설명하는 방법이 확실치 않아)
  • I/O 스레드(실험적, I/O on thread) : 이 옵션 또한 설명하는 방법이 확실치 않다.
  • Force real clock sync(slower, less lag) : 강제로 클럭을 동기화
  • CPU 클럭 변경(0=기본, Change CPU Clock) : 이 옵션은 가상 CPU 클럭을 제어한다. 이것을 처음 사용하는 경우, 가상 CPU는 222Mhz(PSP의 표준 속도 )로 작동한다. 이 속도는 증가 또하는 감소 될 수 있는데, 클럭을 낮출 경우 속도에 더 퍼센테이지를 얻고, FPS는 감소한다. 클럭을 높일 경우 더 FPS가 증가되고 퍼센테이지는 감소한다.
  • 스냅샷 주파수 되감기(0=끄기, mem hog, 윈도우 버전)
  • 아토믹 오디오 잠금(실험적, Atomic Audio Locks) : 이것을 설명하는 방법을 제작자도 모르겠단다. PPSSPP가 느려지는 경우, 오디오를 건너뛰는 라인의 뭔가?
  • 윈도우 기본 키보드를 사용(윈도우 버전)
개발자도구
  • 개발자도구 : 일반 사용자들은 몰라도 되는 내용, 이 영역의 옵션의 변경은 주의해야 함
일반(General)
  • 화면 회전(안드로이드) : 기기의 회전에 따른 화면 전환
  • PPSSPP의 새로운 버전을 확인
  • 최근 게임 목록 지우기 : PPSSPP 실행시 보여지는 최근 게임 탭의 프리퓨를 지운다.
  • PPSSPP의 설정을 기본으로 복원
  • 최근 상태 저장 자동 불러오기
  • 서버에 호환성 문제를 보고
네트워킹(Networking)
  • 네트워킹/무선 랜 활성화(베타) : 온라인 접속이 가능한 게임의 경우 활성화
  • proAdhocServer IP 주소 변경
  • MAC 주소 변경
치트(실험적, Cheats)
  • 치트 활성화 : PPSSPP에 치트 활성화 여부, 이것은 개발자도 잘 모르는 영역이다. 실제로 (UnknownBrackets)에 대해 알고있는 사람은 이 부분을 수정해야한다.
PSP 설정
  • PSP 모델
  • 닉네임 변경(윈도우 버전) : 닉네임을 필요하는 게임의 경우 이를 사용
  • PNG 형식으로 스크린샷 저장
  • 서머 타임(Daylight Savings) : PPSSPP의 시간 계산시 서머타임 적용 여부
  • 날짜 표시 방식
  • 시간 표시 방식
  • 확인 버튼

'플레이룸 > 게임' 카테고리의 다른 글

오버워치 오픈 베타 테스트 후기  (3) 2016.05.11
SD건담 배틀스테이션  (0) 2014.10.27