프린세스 메이커3 한국어판은 총 3가지가 있습니다.
만트라판
후지쯔판
스팀판
 
현재 가장 구하기 쉬운 버전은 스팀판입니다. 다만 10명중 10명에게 물어보면 거의 다 스팀판 싫어합니다... 일본어 음성이라 별로인 것도 있고 옛날 추억삼아 하는 게임이라 그때 그 느낌이 아니라서 별로라는 군요.
 
대부분은 만트라판을 추천합니다만 이쪽은 또 호환성 문제가 많습니다. 16비트 코드를 요구하는 부분이 있어서 최신 OS에선 당연하다는 듯 제대로 안 돌아갑니다.
그래서 XP이후에 출시된 후지쯔판에 만트라판 데이터를 섞은 버전을 추천하는 편입니다. Winlator도 16비트 코드가 당연히 안 돌아가므로 32비트 코드로만 구성된 후지쯔판이 가장 잘 돌아갑니다. (만트라판이 안 돌아가는건 아닌데 뭔가 버벅거립니다.)
 
본래라면 당연히 직접 구하셔야 합나다만...
https://doogie838.tistory.com/1206

 

프린세스 메이커 3 후지쯔판 + 만트라 데이터 , Princess Maker 3 FUJITSU Version + MANTRA Data {시뮬레이션-

영등위 / 게등위 등급번호 : 2003-FCR00862024.08.22 수정: - 오월의 신부 엔딩 수정2023.11.15 수정: - 앨범 전체 해금/초기화 기능 추가2023.11.01 수정: - 구동이 잘되는 후지쯔판을 기준으로 

doogie838.tistory.com

여기서 호환성패치와 기타 등등이 되어진 버전을 구할 수 있습니다. 암호가 걸려있다는 문제가 있는데 그건
https://nemo838.tistory.com/4494

 

압축파일 비밀번호 안내

블로그에 있는 게임들을 실행하려면 [여기] 를 클릭해서 최신 게시물에 첨부된 런처를 먼저 다운 받아 압축을 풀어놓고 [http://cafe.daum.net/nemo838/iAzP/2] 에서 영상 보고 따라 하세요 런처를 이용하

nemo838.tistory.com

여기에 써있으니 그걸 잘 이용하시면 됩니다.
 
저작권이 아직 멀쩡히 살아있는 게임입니다. 왠만하면 스팀판이라도 구매는 하고 해당 파일을 이용하도록 합시다. (저는 사실 이미 두가지 판본의 CD를 갖고 있습니다만 설치 후 융합하는게 귀찮은 관계로...)
 
위의 고전게임 배포 블로그에선 레지스트리와 버그픽스, 호환성 패치가 되어져 있으므로 일반 PC에선 아주 잘 굴러갈겁니다. 심지어 Wine에서도 잘 굴러갑니다.
 
다만 Winlator에서 굴리려면 추가 삽질이 동반됩니다.
우선 컨테이너는

Name은 알아서 잘 정하시고 Graphic Driver는 VirGL을 쓰겠습니다. 뭔가 이쪽이 오류가 덜 합니다.

Game Controller는 솔직히 다 필요없으므로 꺼주시는 걸 추천합니다. 컨테이너 설정은 이 정도면 됩니다.
 
 
그리고 게임도 미리 어느정도 PC에서 손을 본 다음 스마트폰에 설치합시다.
알아서 잘 해당 블로그에서 잘 다운로드 받아보면  _inmm을 통해 CD-DA패치가 되어 있으며 dgvoodoo를 통해 DDraw 호환패치가 되어져 있습니다. 이중 dgvoodoo를 무력화 할 것입니다. 이유는 VirGL에서 문제가 있거든요.
 

여기 보시면 ddraw.dll 파일이 있습니다. 이걸 파일명을 바꿔줍니다. 전 뒤에 .bak을 붙였습니다. 만약 DXVK를 꼭 쓰겠다고 하신다면 원래대로 다시 돌려주시면 됩니다.
 

PM3_Winlator_patch.zip
0.90MB


 
그리고 위 파일을 다운받아 덮어 씌웁니다.
해당 파일은 오프닝 영상을 없애고 호환성 로더를 실행 시키기 위한 DLL파일과 실행파일에 직접 해킹을 통해 메시지박스를 제거한 버전입니다. 메시지 박스가 제거된 관계로 게임이 안 꺼지는 문제가 있는데 어차피 최신 OS에서는 제대로 종료가 안 되고 프로세스가 남아 강제종료 해야 합니다.

이렇게 하시면 게임은 준비됩니다. 이걸 스마트폰에 넣습니다.
 

 
스마트폰과 USB연결 후에 Download 폴더에 통째로 복사하면 되겠지요. 아니면 다른 방법을 통해 복사하시면 됩니다.
 
이제 Containers 에서 해당 컨테이너를 실행합니다.

이제 여기서 아까 넣은 폴더를 선택후에 C:로 복사합니다. D:에서 바로 실행도 가능하긴 한데 뭔가 오류가 있을 가능성이 있고 Android시스템과 꼬일 수 있습니다. 복사를 합시다.
 

 
이렇게 C:안에 복사를 해두면 실수로 다운로드폴더에서 지워버려도 남아 있게 됩니다.
이제 바로 실행!은 아니고 레지스트리를 입력해야 합니다.
 
시작 - system tools - Registry Edtiror를 클릭합니다.
 

 
레지스트리-레지스트리 가져오기
이후에 C:에 우리가 복사한 곳으로 가면 Doogie라는 폴더가 있습니다. 위 블로그 제작자분이 만들어둔 레지스트리 입력파일입니다. 이걸 입력해야 게임이 실행됩니다.
 

레지스트리 파일이 모여 있는 곳 여기 있는 모든걸 다 입력해야 한다.

여기 보시면 파일이 4개가 있는데 파일을 하나하나 열기해서 입력해야 합니다.
 

성공적으로 추가되었다고 메시지가 뜨는데 이걸 한번씩 다 하세요. SetPathX.reg를 제외하고 총 3번 하시면 됩니다.
(SetpathX.reg는 윈도8이후 전용입니다. Wine에선 SetPath.reg만 해도 문제없습니다)
 
그리고 OS를 윈도우XP로 바꿉시다. 후지쯔판은 XP를 위해 만들어진 버전입니다. 따라서 XP로 해야 잘 실행되겠지요.

시작- System Tools - Wine Configuration
여기서

 
windows 버전을 WindowsXP로 바꿉니다.
그리고

 
데스크탑 종료를 해줍니다.
이제 컨테이너가 꺼질텐데 다시 실행하려고 하면 실행이 안 될겁니다. 아마 셧다운 되는데 시간이 걸려서 그럴겁니다. 조금 기다리거나 휴대폰을 그냥 껐다 켜는게 더 빠를 수도 있습니다.
 
이제 다시 Containers에서 다시 환경을 실행해 봅시다.
 
그리고 _PM3Win.exe가 있을 겁니다. 오리지널 프린세스메이커3가 아닌 검정색 아이콘입니다.
이 프로그램은 호환성을 위한 메모리 패치 및 강제종료시 프로세스가 남는 것을 감시하는 역할을 합니다. 즉, 최신OS에서의 호환 문제를 해결합니다.
 
이걸 실행해 봅시다.
몇번실행하다보면 어느 순간 실행이 됩니다.

 
그리고 위 스크린샷에 있는 위치즈음을 클릭 해보면 환경설정이 가능해집니다.

 
CDDA연주는 무슨이유인지 계속 오류가 나면서 귀찮아 지는 문제가 있습니다. 그렇기에 BGM을 꺼버리는게 동작하는데 가장 좋습니다.
다만 아래의 Winamp방식으로 바꿔서 재생하니 제대로 된 음악을 들을 수 있었습니다. 제일 아래 설정 참조. 다만 Winamp가 따로 돌아가다보니 휴대폰에 불이나려 합니다. 그냥 끄는게 정답일수도 있습니다.

그리고 화면 특수효과도 꺼주셔야 게임할때 안정적으로 돌아갑니다. 저게 켜지면 은근히 버벅거리더군요.

Winamp설정안하고 기본 (DirectShow방식)을 쓰면 아래처럼오류납니다. WMP가 문제인걸로 보입니다.

CD-DA가 되어야 배경음악이 나올텐데 이게 말을 안 듣습니다. 이것도 일종의 호환패치인데 아쉽더군요. 리눅스 PC에서는 따로 가상드라이브를 만들어서 해당 ISO파일을 넣는 방식으로 음악을 들었는데 Winlator에선 안 되니 아쉽네요. _inmm이 이용도로 나온건데 아쉽네요.(WMP를 설치하면 된다는 이야기도 있는데 안 해봤습니다.)

그래서 위에 호환패치에 이러한 설정으로 된 레지스트리를 포함했습니다.(BGM을 기본적으로 끕니다)

이제 이후에는 게임을 켤때마다 이런식으로 켜면 힘들겠죠?
바로 실행 가능한 아이콘을 만들어 봅시다.

 
_PM3WIN.exe 파일을 여기서 복사합니다. 그리고 Desktop 에다가 바로가기를 만듭니다.
메뉴에 보면 있는 Edit-Paste Shortcut을 누르면 됩니다.

 
 
이러면

햄버거 매뉴 - Shorcuts에 이렇게 아이콘이 뜨게 됩니다. 이걸 누르면 바로 실행이 됩니다. 이제 작은 마우스는 쓸 일이 없을 테니 터치스크린으로 교체를 하고 이를 위해 가상 버튼을 하나 만듭시다.
 

 
햄버거 버튼을 누르고 Input Controllers를 누릅니다.
 

 
그리고 여기서 추가로 더하기 버튼을 눌러서 가상버튼 프로필을 만듭시다.

우리는 여기서 PM3라고 했습니다. 그냥 이건 마음대로 하시면 됩니다.

 
Controls Editor를 눌러서 이제 버튼을 배치합시다.
이제 여기서 가로모드로 하는걸 추천합니다. 아마 저는 오른쪽 위나 아래에 뒤로 가기 버튼 역할을 할 수 있는 ESC버튼을 만들려고 합니다.

 
 
해당 화면에서 버튼을 만들고자 하는 부분을 먼저 클릭 한 뒤에 버튼을 누르면 None 이라는 이름의 동그라미 하나가 생깁니다. 이게 버튼 역할을 할겁니다. 이걸 이리저리 끌고 다니면서 위치 조정을 할 수 있습니다. 그다음 톱니 버튼을 누르면 여기에 어떤 기능을 부여 할 수 있습니다.

여기서 Binding에 ESC를 하나 만듭시다. 프린세스 메이커는 이거 하나만 있어도 됩니다. 나머지는 마우스 클릭이거든요. 빨리 넘기기 위한 CTRL 키를 만드셔도 되는데 저는 귀찮아서 넘기겠습니다.
 
그리고 Shorcuts로 실행 했을때 버튼과 해상도를 설정합시다. Shortcuts를 눌러서 다시 세팅을 추가로 합시다.
 
 

오른쪽의 점점점을 누른다음 Settings를 눌러서 손을 봅시다.

 
Screen Size를 960x544로 바꿉니다. 이유는 사실 640x480의 게임에 창테두리를 포함하는 크기입니다.
 
그리고 Win Components가 있는 부분을 오른쪽으로 땡기다 보면  Advanced가 있습니다.

여기서 Input Controls에 Profile을 아까 우리가 만든 PM3 프로파일로 바꾸고
아래 Simulate touch screen에 체크를 합니다.
 
이제 게임을 다시 실행해 봅시다.

이제 스마트폰에서 게임이 가능해졌습니다. 심지어 터치스크린이라 옛날과 또 다른 맛이 있습니다.
 
P.S 제가 올린 실행파일에서 메시지 박스를 제거 했는데 이게 일반 PC에선 문제가 전혀 없습니다. 그런데 winlator에선 메시지가 게임창 뒤로 넘어가서 게임이 안 넘어가는 문제가 있습니다. 그래서 그냥 메시지박스가 나오지 않도록 바이너리 패치가 일부 적용되었습니다. 이로인해 불안정해질 가능성이 없지않아 있습니다.
 
 
===============================25.3.10==============
배경음악이 안나오는건  _inmmserv.exe와 DirectShow가 문제가 생긴 탓으로 보입니다.
그래서 역사와 전통의 Winamp로 구동되게끔 조금 손을 대봤습니다.

Winlator_inmm_Winamp.zip
1.43MB

 

Winlator_inmm_Winamp_Nohtml.zip
0.42MB

 

이걸 프린세스메이커3가 설치된곳에 풀어서 덮어씌운다음 다시 실행하면 CDDA가 Winamp로 재생될겁니다.

 

위의것은 음질이 좋기로 유명한 프라운호퍼 디코더가 적용된 2.95버전입니다. 다만 WineGecko를 설치해야합니다.

 

아래는 HTML이 제거된 2.09버전입니다. 대신 음질은 애매합니다. 하지만 WineGecko가 필요없기에 조금더 가볍습니다.

우선 AudioDriver를 Pulseaudio로 바꿔줍니다.
ALSA는 한 프로세스가 독점하면 다른 프로세스가 접근할 수없는 문제가 있습니다. (대신 PulseAudio는 사운드 딜레이가 약간 있습니다)

그리고 NoHTML이 아닌 것을 적용하셨다면

시작-System Tools- Wine Gecko Install을 눌러 WineGecko를 설치하거나 그냥 Winamp폴더의 winamp.exe를 따로 실행해서 WineGecko를 설치합니다.

Winamp 2.95는 HTML을 요구합니다. 마음에 안 드시면 Nohtml버전을 쓰시면 됩니다. 대신 음질은 상대적으로 구립니다.

그리고 프린세스메이커3를 실행하고 환경설정에 들어갑니다.

여기서 CDDA로 바꿔줍니다.
이건 게임 실행때마다 바꿔주셔야합니다. BGM을 미리 활성화하니까 어찌된영문인지 게임이 멈추더군요. 그래서 이런방식으로 게임실행후 BGM을 활성화했습니다.

이제 거의 완벽해졌습니다!

,

생각보다 재미있는 프로그램이 나왔습니다.

아니 그동안 그냥 제가 몰랐던거에 가까운거지요.

 

winlator라는 안드로이드 앱입니다.

방식은 Box64(https://github.com/ptitSeb/box64)

 

GitHub - ptitSeb/box64: Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux device

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices - ptitSeb/box64

github.com

를통해  ARM에서 AMD64를 에뮬레이팅하고

해당 에뮬레이팅 환경위에서 Wine을 구성해서 Windows 프로그램을 돌리는 것입니다.

 

그리고 Windows 프로그램을 돌리는 이유중 하나는 DirectX다보니 DXVK나 WineD3D같은 호환 레이어를 통해 GPU가속을 진행합니다.

쉽게 말해서 Wine을 Box64와 최소한의 X11 에서 돌리면서 DXVK를 통해 스마트폰의 Vulkan환경에 직접 접근하는 방식입니다.

 꼭 Vulkan이 아니더라도 Wine에서 구동이 된다면 스마트폰에서도 느리게나마 구동이 가능하다는 의미입니다.

 

공식 github는 https://github.com/brunodev85/winlator

 

GitHub - brunodev85/winlator: Android application for running Windows applications with Wine and Box86/Box64

Android application for running Windows applications with Wine and Box86/Box64 - brunodev85/winlator

github.com

여기지만 대부분 사람들은 공식 Winlator대신 MOD버전을 이용한다고 하더군요.

 

저부터도 glibc버전이 달라진 https://github.com/ajay9634/winlator-ajay

 

GitHub - ajay9634/winlator-ajay: Android application for running Windows applications with Wine and Box86/Box64

Android application for running Windows applications with Wine and Box86/Box64 - ajay9634/winlator-ajay

github.com

이 MOD를 이용하고 있습니다. 왜냐하면 최신 Wine환경에서 glibc버전의 영향이 크거든요. 최신버전의 Wine을 위해선 아무래도 glibc가 같이 버전이 어느정도 되어야 합니다. 특히 Proton같은 변형 Wine을 쓴다면 더더욱 glibc가 필요합니다. 그리고 무엇보다 해당 버전은 MIDI가 지원됩니다. 고전게임에선 MIDI가 주로 이용되었으니까요.

 

한번 저는 여기에서 고전게임을 한번 실행해 보도록 하겠습니다. 다만 가능하면 인스톨이 대신 기존 설치된 게임을 복사해서 쓰는걸 추천합니다. 레지스트리 입력을 자동으로 해주는 게임도 있습니다. (디스크스테이션 게임이 대표적)

 

우선 설치를 해야겠지요. APK를 이용해서 설치하는건 따로 알려드리지 않습니다.

https://github.com/ajay9634/winlator-ajay/releases

 

Releases · ajay9634/winlator-ajay

Android application for running Windows applications with Wine and Box86/Box64 - ajay9634/winlator-ajay

github.com

전 여기서 winlator-ajay 7.1.2을 쓰고 있습니다. 내장된 Wine은 9.0을 기반으로 한 커스텀 버전입니다. 그럭저럭 최신버전입니다.

 

처음 설치하면

출처 : https://winlator.com/winlator-glibc/

 

이렇게 뜨면서 시스템파일을 설치합니다. X11과 Box64, 그리고 내장된 Wine 을 설치하는 중입니다.

그리고 나면 Containers라는 화면이 뜹니다. 그리고 왼쪽 위에는 햄버거 버튼이 있어서 이것 저것 확인이 가능합니다.

 

Docker를 써보셨으면 Container 개념이 바로 잡히실겁니다. 각 Container는 일종의 Wine Prefix 역할을 합니다. Playonlinux나 Lutris를 통해 각 프로그램별로 환경을 갖추는 바로 그걸 의미 합니다.

 

저는 이미 이것저것 설치해둔 터라 뭔가가 많이 있습니다만 처음 시작하면 아무것도 없을 겁니다. 오른쪽 위에 +를 눌러봅시다.

 

Name은 Container 이름이며 사이즈는 우선 720p로 그대로 두는걸 추천합니다. 해상도가 높으면 구동시 버벅임이 심해지고 너무 작으면 창이 밖으로 넘어가는 불상사가 일어납니다.

 

Wine Version이야 당연히 Windows 호환 레이어의 버전입니다. 특정 프로그램의 경우 구버전에서 잘 돌아가는 프로그램도 있지만 우선 내장된 버전이 이것이니 이걸 그대로 이용합시다.

그리고 Graphic Driver 이게 중요한데 스냅드래곤 칩셋의 경우 Turnip이 꽤 좋은 퍼포먼스를 보여줍니다. 특히 DXVK를 쓸 수 있어서 Vulkan을 쓰므로 상당히 좋은 모습을 보입니다. 다만 호환성은 반대로 떨어집니다. 이건 PC리눅스에서도 마찬가지였습니다.

 

VirGL은 호환성이 상당히 좋은 드라이버입니다. Qemu등에서 쓰이는 드라이버로 PC에선 상당히 좋은 모습을 보여주지만 Vulkan이 작동되지 않습니다. WineD3D를 통해 OpenGL로 구동해야 합니다. 웃긴건 삼성 최신 칩셋에서는 Vulkan성능이 상당히 좋은 GPU가 들어갔음에도 VirGL을 통해 OpenGL을 써야하는 뭔가 안타까운 상황입니다. 개발이 지속되면 삼성칩셋에서 Vulkan이 구동될 수도 있을겁니다만 아직은 아닙니다.

 

만약 굉장히 오래된 고전게임을 구동한다면 개인적으로 VirGL을 쓰는걸 추천합니다. DXVK가 구형 API를 지원 못하는 관계로 쓰나마나인 경우가 잦습니다. dgVoodoo같은 레이어를 쓰기도 하는데 스마트폰에선 퍼포먼스가 PC에 비해 떨어지는 관계로 CPU 발열이 엄청나더군요. 차라리 WineD3D를 써서 CPU부담을 줄이는걸 추천합니다. 어차피 고전게임들은 그렇게 많은 성능을 요구하지 않습니다.

 

MIDI SoundFont는 MIDI를 구동할때 필요합니다. MIDI를 사용한 게임(뿌요뿌요2, 환세취호전 등)을 쓰신다면 이걸 켜주시면 음악을 들을 수 있습니다. 심지어 윈도우 기본 폰트보다 상당히 좋은 품질이 나옵니다.

 

그 외에 Drives를 추가해서 스마트폰의 외부에 접근이 가능하게 할 수 있습니다. 참고로 기본 설정은 D드라이브가 스마트폰의 다운로드 폴더입니다. 보통은 기본으로 두는 편입니다.

 

그리고 오른쪽 아래의 체크를 누르면 컨테이너가 생성됩니다.

이제 여기서 재생버튼(?)을 누르면

 

윈도우와 흡사한 화면이 나오면서 파일탐색기가 같이 뜹니다. 그리고 터치패드를 이리저리 문지르다보면 마우스포인터가 노트북 터치패드 처럼 움직인다는 것을 알 수 있습니다.

 

네, 터치스크린 방식이 아닌 노트북 터치패드처럼 쓴다고 생각해야 합니다. (물론 터치스크린처럼 쓸 수도 있습니다만 작은 파일을 선택하거나 하기엔 답답하기에 이게 더 편할 수 있습니다.)

사실 이 화면은 Wine Desktop화면입니다.

 

 

제가 사용하는 ajay모드 버전을 쓰신다면 fix wfm launch를 한번 해주시는걸 추천합니다. 가끔 Wine Desktop에서 밖으로 빠져나가서 따로 실행되는 프로그램들이 있습니다. 일반 리눅스 데스크탑이라면 알아서 따로 열린창으로 작업이 가능하지만 우린 Wine Desktop만으로 작업을 해야하니 난감한 상태가 됩니다. 이 설정은 해당 문제를 방지해줄 수 있습니다.

 

그리고 D:를 통해서 아까 설정한 스마트폰 내의 다운로드 폴더에 접근이 가능합니다. 만약 아무것도 안 뜬다면 컨테이너를 닫은다음 Drives 설정으로 들어가서 접근 허용해주시면 됩니다.

 

즉, 이제 필요하다면 다운로드 받은 프로그램을 D드라이브에서 복사해서 가져오거나 직접 실행하는 방식으로 해당 컨테이너에서 굴릴 수 있게 된다는 의미입니다.

다만, Wine에서도 그렇게 삽질이 동반되었는데(그동안 제가 해왔던 삽질을 생각해보자면...)여긴 아키텍처가 다르니 일부 그냥 돌아가는 프로그램들을 제외하면 더했으면 더했지 덜 하지는 않을겁니다.

 

 

뒤로 버튼을 한번 누르면 세로모드로 바꾸거나 키보드를 소환하거나 닫아 버릴 수도 있습니다. Input Control을 통해 가상 버튼을 만들어서 게임에서 써먹을 수도 있습니다. 만약 멈춰버려서 말을 안 듣거나 하면 Task Manager를 통해 특정 프로그램을 닫을 수도 있습니다. Exit는 당연히 해당 컨테이너를 닫아버리는 기능이겠지요.

 

참고로 컨테이너를 닫은 다음 시간이 어느정도 지나야 완벽히 닫깁니다. Box64 서비스가 내려가는 시간이 꽤 걸리는 듯 합니다. 이것도 리눅스가 셧다운 될때 꽤 시간이 걸린다는걸 생각해보시면 될 듯 합니다.

 

아마 다음에는 고전게임중 하나인

 

이걸 해볼까 합니다. 가상버튼들이 뭔가 이상한데 이건 다른 게임용으로 만든 버튼이 튀어나온 탓입니다.(...)

이건 꽤 삽질이 많이 동반 되었기에 이정도의 삽질은 해야 게임이 된다는걸 보여줄 수 있을것 같거든요.

,

Wine은 윈도우프로그램을 리눅스/유닉스에서 실행되게끔 하는 호환 레이어입니다.
프로젝트가 지속되다보니 지금은 상당히 많은 프로그램들이 구동되고있습니다. 최근에는 스팀덱을 필두로 게임성능이 강화된 Proton이 나와서 그래픽카드의 활용성능도 상당히 좋아졌습니다.

다만, Wine프로젝트는 기존의 Win32와 Win64 API를 원본 그대로 구현하는것도 있지만 리눅스와 연결되는 부분(화면에 뿌리는 GDI, 각종 입력장치 연결 라이브러리, DirectX를 OpenGL로 번역하는 Wined3d 등)을 내부적으로 구현했기에 다른OS에서 그대로 쓰기 힘들었습니다.

안드로이드의 경우 X를 쓰지 않기에 기존 Wine에 구현된 GDI구현체를 쓸 수 없었고 이를 위해 Termux-X11 같은 리눅스 데스크탑 호환환경을 갖춰서 굴리는 방식을 써야했습니다. (Mobox라는건이 이런식으로 구축해야 합니다) 아키텍처 문제로 X86과 AMD64로 만들어진 기계어를 ARM하드웨어용으로 번역하는 Box86과 Box64를 따로 설치해야하는건 덤이었고요.

Winlator는 Box86 및 Box64를 내장하고 Wine의 연결부분을 안드로이드의 것으로 대체하는 방식으로 안드로이드에서 쉽게 윈도우 프로그램, 그것도 PC에서 쓰는 X86용 프로그램을 돌아가게끔 해주는 앱입니다.

다만 기존 Wine도 완벽하지 않기에 100%호환이 보장되지 않은 상황에서 Box86, Box64를 통한 하드웨어 아키텍처 번역까지 있기에 완전한 구동은 어려운 상황입니다. 그만큼 성능저하는 덤입니다.

역으로 말하면 시간이 지나 Wine의 구현이 더 정확해지고 Box64가 발전하면서 안드로이드 기기의 성능이 좋아지면 지금 구동이 되지 않는 프로그램들도 구동이 될 가능성이 상당히 높습니다.

스냅드래곤 888칩셋기준 itch.io로 대표되는 2D인디게임 정도는 돌리는데 크게 무리가 없기에 깔끔하게 잘 돌아갑니다. 항간에선 GOG.com게임들은 DRM문제가 없기에 화면까진 볼 수 있다고 합니다. 유튜브를 뒤지면 위처3같은 꽤 그래픽 좋은 게임도 잘 돌아간다고 합니다.

안드로이드용 MSOffice가 있기에 굳이? 싶긴한데 윈도우용 MSOffice도 구버전(2010)에 한해서 구동에 성공했다고 하는군요. 그 외에도 호환성 강화를 위해 안드로이드용 C런타임이 아닌 Glibc를 네이티브로 내장해 호환성을 강화한 변종도 나오고 있으며 Wine을 커스텀한 Proton을 활용한 Winlator도 나오고 있습니다.

솔직히 이런걸 보면 모바일기기와 PC와의 벽이 무너지는것 같아 재미있군요. 추후 구동성공기와 Winlator로 윈도우전용 인디게임 구동을 알려드리겠습니다.

,

최근 안드로이드 커스텀롬의 기반은 두가지로 나눌 수 있습니다.
1. 기존의 전통적인 AOSP를 기반으로 이리저리 지지고 볶아서 만드는 커스텀롬(LinneageOS가 대표적)
2. 픽셀용으로 나온 OS를 이리저리 지지고 볶아서 만드는 커스텀롬(Pixel Experience가 대표적)

사실 AOSP기반의 롬이어도 gapps(구글앱스)를 설치하면 거기서 거기이긴합니다. 하지만 최근 이런저런 커스텀롬을 쓰다보니 차이가 하나 둘씩 눈에 보이더군요.

1. AOSP기반의 롬의 경우 구글특화기능이 빠지는 경우가 많습니다.
- gapps에 따라 해당기능이 작동하기도 하지만 대부분 QuickShare(구, NearbyShare)같은 기능이 막히는것을 확인했습니다.

2. gms(구글코어라고도 합니다)의 일부기능이 작동되지 않는 경우가 존재합니다.
-푸시알림같은 기능인데 구글에 해당 MAC어드레스를 등록하면 작동한다지만 이 또한 귀찮지요.

3. 게이밍쪽에서 커스텀 정도에 따라 성능차이가 벌어지는 편입니다.
-사실 이건 픽셀에 OpenGLES를 Vulkan으로 변환해서 렌더링하는 기능이 들어갔기 때문인데 이게 오픈되지 않은건지 대다수 AOSP기반 롬은 해당 기능이 없습니다.

4. 가끔 커스텀롬이 픽셀로 인식되는 경우가 있습니다.
-장점인지 단점인지 알 수 없지만 AOSP기반롬은 따로 루팅이라도 하지 않은 이상 대부분 본래 모델명으로 인식되지만 픽셀기반의 경우 픽셀로 인식되는 경우가 꽤 있습니다. 여러대의 휴대폰을 쓸 때 헷갈릴 수 있습니다.

안드로이드에 Treble이 적용된 이후 픽셀기반OS를 포팅하기 쉬워졌다고 합니다. 통칭 GSI롬이라고 하는데 GSI기반을 쓰면 그냥 픽셀기반OS에 가깝습니다. 이미 x86용 안드로이드도 gsi롬으로 나오고 있는데 이것도 구글의 야심과 관계가 있어보이는건 제 의심일까요?

,

당연한 이야기입니다만 유튜브는 안드로이드 스마트폰의 킬러앱입니다. 아이폰도 유튜브가 멀쩡히 돌아가지만 안드로이드의 기능에 비해 부족해보이는건 사실입니다.

그런데 이 유튜브 앱이 꼭 필요한가에 대해서는 조금 고민이 생기더군요. 최근 유튜브 버벅거림이 심해져서 찾아보니 유튜브 앱의 버그였음이 밝혀졌습니다. 그냥 유튜브를 지우고 다시까니 해결됐다는군요.

저는 사실 유튜브앱도 웹 하이브리드 앱으로 만드는것이 어떨까라는 생각을 하고 있습니다.

무슨 귀신 씨나락 까먹는 소리냐고 할 수 있습니다만 유튜브앱에서 주로 쓰는 기능이라고 해봐야 구독채널의 영상과 추천영상기능 정도입니다. 그런데 이건 웹브라우저에서 실행되는 유튜브 페이지에서도 확인 가능하지요. 심지어 영상 업로드도 앱에서 오류가 자꾸 나길래 웹으로 들어가니 멀쩡했던 적도 있습니다.

이쯤되니 구글이 제공하는 유튜브 앱이 쓸데없이 많이 무겁다라는 생각이 들더군요. 어차피 우리가 원하는건 정상적인 영상재생이고 이는 HTML5이후 웹으로도 아무 문제없이 구동이 된다는것을 알고 있습니다.

그러면.. m.youtube.com으로 접속하는 웹뷰로 구동되는 앱을 하나 만들고 그냥 이걸 쓰면 유튜브앱의 버그를 충분히 회피하고 훨씬 가볍고 귀찮은 광고도 Adguard로 해결 가능하지 않을까 싶습니다.

이제 여기서 문제는 구글로그인 동기화 문제인데 서드파티 웹브라우저의 경우 꼭 문제를 일으키곤합니다. 웹뷰에서 동기화 기능을 켜면 된다고 하는데 이것도 케바케더군요.

그리고 킬러기능중 하나인 플로팅윈도우는 안드로이드7이후 제공되는 기능을 쓰면 쉽게 구현이 됩니다. 이는 프리미엄 구독을 해야 쓸 수 있는 기능입니다만 안드로이드에서 제공하는 기능을 쓰면 충분히 같은 기능을 뽑을 수 있습니다.

이쯤되니 웹을 써서 유튜브영상을 보는 기능구현이 어느정도 쉽게 될것 같은데 우선은 생각까지만 하고 나머지는 천천히 실행에 옮겨보는게 어떨까 싶습니다.
어차피 만든다고 해도 플레이스토어에 올린다던지 하고 싶지는 않네요. 구글이 싫어할것 같거든요.

,

Termux는 안드로이드에서 리눅스를 구동하는데 매우 편리한 앱입니다.

기본적으로 CLI만을 사용하지만 리눅스라는 특성상 여러 꼼수를 사용하면 GUI도 사용가능합니다.

 

하지만 제가 사용하고자 하는 것은 오래된 스마트폰을 라즈베리파이가 그랬던 것처럼 Python개발용으로 사용하는 것입니다. 특히 아무래도 개발용이기에 Python을 설치하는 것을 중시합니다.

우선 설치하고 Termux를 켜는 것으로 리눅스 구동이 바로 되고 백그라운드에서 실행되기까지 하기 때문에 상당히 안전하게 구동 할 수있습니다. (배터리 관리 프로그램이 Termux를 죽일수도 있는데 그걸 방지하는 설정을 꼭 합시다.)

 

Termux는 https://f-droid.org/packages/com.termux/여기서 다운로드 가능합니다

 

Termux | F-Droid - Free and Open Source Android App Repository

Terminal emulator with packages

f-droid.org

아래에 보시면 APK다운로드가 있는데 해당 APK파일을 다운로드받아 스마트폰에 설치하는 것으로 바로 리눅스 환경을 사용해볼 수 있습니다.

다만, Android 7이상을 요구하기 때문에 제가 쓰고 있던 구형 스마트폰은 Android6라 실행이 안 되지만 Termux 자체는 오픈소스이므로 Android 6에 맞추어 재 컴파일 하면 실행이 되었습니다.

 

혹은 레딧의 한 유저가 올려놓은 앱을 사용해도 됩니다. https://www.reddit.com/r/termux/comments/eoiics/trying_to_install_on_android_6/

 

trying to install on android 6

I have an old t-mobile g3. it has broken screen (so can't update OS using root since there is no way to mirror screen on my laptop on before...

www.reddit.com

Termux::Boot는 Termux가 실행될때 자동 실행이 되게끔 해주는 애드온입니다. 설치해두면 매우 편리합니다. 다만, 노가다가 더 편리할 수도 있으니 이건 넘어갑시다.

 

Termux를 실행하면 Terminal Emulator같은 앱이 뜨면서 CLI 리눅스 환경을 쓸 수 있습니다. 다만, 다른 배포판들이랑 명령어가 조금 다릅니다.

패키지 설치 명령어는

pkg install (패키지 이름)

 

우선 내부 스토리지 접근의 경우

termux-setup-storage

 

위 명령어를 사용하면 ~/storage 폴더가 생기면서 스마트폰의 내부 스토리지에 접근이 가능해집니다.

특히 ~/storage/shared 는 우리가 스마트폰을 쓰면서 죽어라 들락날락하는 위치이므로 유용하게 사용이 가능합니다.

 

이것 만으로도 훌륭한 리눅스환경이지만 유저랜드가 역시 좀 부족합니다.

현재 termux는 공식 서버와 bintray등에서 서비스되는 저장소등이 있으나 일부 앱들이 실행이 안 되고 있습니다. 그리고 디렉토리 구조 문제로 일부 호환성문제가 있습니다. 그래서 우분투나 데비안, 아치, 페도라 같은 환경을 따로 구축해서 구동하는 것을 추천합니다.

 

termux위에 우분투 유저랜드를 구축하면 그냥 우분투 ARM버전을 쓰는 방식으로 apt 명령으로 편하게 사용이 가능합니다.

 

https://github.com/MoorDev/termux-ubuntu

 

GitHub - MoorDev/termux-ubuntu: Ubuntu chroot on termux

Ubuntu chroot on termux. Contribute to MoorDev/termux-ubuntu development by creating an account on GitHub.

github.com

https://github.com/Neo-Oli/termux-ubuntu 여기 있던 스크립트를 일부 수정해서 21년 현재 지원이 되는 18.04와 20.04 버전이 설치가 가능하게끔 스크립트를 만들어 놓았습니다.

 

우분투 환경을 만드는 방법은 다음과 같습니다. 우선 wget과 필수적인 proot가 없으므로 wget과 proot를 설치합니다.

 

우선 ~/로 접근한다음 (퍼미션 문제)

cd ~/

pkg install wget proot

wget https://raw.githubusercontent.com/MoorDev/termux-ubuntu/master/ubuntu-20.04.sh

bash ubuntu-20.04.sh

 

위와 같이 명령어를 치면 무언가 쭈르르륵 다운받고 압축풀고 하면서 마지막에 ./start-ubuntu.sh 를 실행하면 된다고 뜹니다.

(실제 디렉토리는 ~/ubuntu-fs 가 됩니다.)

실제로 ./start-ubuntu.sh를 실행하면 우분투환경으로 바뀌면서 우리에게 익숙한 apt를 쓸수 있게 됩니다. 디렉토리 구조도 문제 없고 심지어 Xorg와 VNC서버를 설치한 후에 VNC로 접근해서 GUI도 볼 수 있습니다.

 

이제 파이썬을 설치해봅시다.

apt install python3 python3-pip

 

이제 익숙하다못해 편리한 python3와 pip를 쓸 수 있게 되었습니다. 다만 현재 환경은 ARM이므로 기존에 사용하던 AMD64와 저장소도 다르고 라이브러리도 다릅니다. 딥러닝쪽인경우에는 고생깨나 해야 합니다.

딥러닝 라이브러리는 ARMv7(32비트)를 지원하지 않아서 구형 스마트폰에선 구동이 되지 않습니다. 다만 라즈베리파이3가 32비트이고 아직 많이 쓰이기 때문에 라즈베리파이3용으로 만들어진 많은 라이브러리를 가져와서 구동이 가능합니다.

 

대표적인 것이 onnx runtime의 라즈베리파이3 버전인데 (https://github.com/nknytk/built-onnxruntime-for-raspberrypi-linux/tree/master/wheels/buster) 여기있는 것을 가져와서 써도 됩니다.

 

그리고 Termux에서(./start-ubuntu.sh를 하지 않은) SSH를 설정하는 방법은

pkg install openssh

이걸로 SSH 서버를 설치하고

 

whoami 명령으로 현재 내 이름을 찾습니다. 보통 u_aXXX 형태로 되어 있습니다.

그 다음 passwd 명령으로 패스워드를 설정합니다. 이 패스워드가 곧 SSH접속 패스워드가 됩니다.

 

이제 SSH접속하는 곳에서

ssh u_aXXX@(스마트폰IP) -p 8022

이렇게 하면 패스워드를 물어볼것이고 termux 환경에 SSH로 접속이 됩니다. 포트포워딩을 하거나 하면 멀리서도 접속이 가능해지겠죠!

 

Termux에 우분투 환경을 갖추고 numpy ARM버전을 설치하는 중. 너무 편리해서 말이 안 나온다.

이런식으로 구형 스마트폰을 훌륭한 개발 플랫폼으로 만들 수 있습니다. Termux로 ARM 리눅스를 한번 구축해보세요!

,

최근 스마트폰은 다크모드를 지원합니다.
야간의 시인성을 높이고 AMOLED의 수명을 위해서 배경을 검게 하는 것인데요.

본래 사람은 검정화면보다 흰색화면을 더 선호하던 탓에 대다수 앱과 웹페이지들은 하얀색 배경을 상정하고 만들어졌습니다.

그나마 2020년 현재에는 다크모드가 보편화되서 좀 상황이 나은 편이지만 업데이트가 끊겼거나 그냥 실력부족으로 혹은 기타 이유로 아직 흰색배경을 쓰는 경우가 많습니다.

하지만 방법은 있습니다. 구글도 이를 알고 강제 다크모드라는 것을 개발자옵션에 넣었고 또 문제가 되는 내비바는 써드파티 앱으로 해결이 가능합니다.

우선 강제다크모드는 안드로이드10 이후에 개발자 옵션에 있습니다. 다크모드에 관심이 있으실 정도면 개발자옵션을 활성화 하는것 정도는 아실거라 믿고



설정-다크 모드 강제 적용에 체크를 하는 것으로 다크모드가 지원이 안되는 앱(예 : 티스토리)에서 강제로 검정배경을 만들 수 있습니다.


 

그런데 다크모드를 켜도 이렇게 나오는 경우가 있습니다.
이 경우에는 앱설정에서 내비바를 강제로 색을 지정한 경우입니다. 이러면 기껏 만든 부분에 하얗게 더 경계를 만들어서 AMOLED에 악영향을 끼칩니다.

앱에따라 내비바설정이 필요한 경우가 있지만 보통은 그냥 안드로이드 4.4이전처럼 까만색이 더 디스플레이 수명에 좋습니다.

이때는 써드파티앱을 쓰시면 됩니다.

https://play.google.com/store/apps/details?id=pl.damianpiwowarski.navbarapps

Navbar Apps - Google Play 앱

Tired of your boring Navigation Bar? Make it awesome! Turn it blue, make it red - anything you want. Select cool image as background or match color automatically to fit it to running app. Whatever you choose, it will be awesome! And then you can add some d

play.google.com

이 앱은 내비바에 각종 색을 입히거나 강제설정을 할 수 있는 앱입니다. 만약 돈을 쓴다면 더 예쁜 내비바도 만들 수 있지만 우선은 색만 바꾸는 것이니 그냥 무료버전으로도 충분합니다.

앱을 실행하면 다음과 같이 뜹니다.

여기서 LET'S DO IT!
Allow App to draw over other apps를 눌러서 내비바앱이 다른 앱위에서 돌아갈 수 있게 하자
여기서 권한을 주면 된다.

접근성 서비스에서 내비바를 쓰기로 허가하자.

설치된 서비스 안에 들어가면 NavBar가 있다.
그리고 배터리최적화(Battery Optimization)관련 경고가 뜬다면 시키는 대로 Turn off하자.


그리고 Change color of navigation bar에서 Static color를 선택하고 다음과 같이 설정합니다.

 Enter hex color를 누르고 ffffff를 쓰셔도 됩니다.

이제 모든 부분을 검정색으로 나오게 할 수 있게 되었습니다!

,

안드로이드는 Play 스토어를 사용하고 있다면 Play 스토어가 알아서 해당 앱을 업데이트 해주는 기능이 있습니다.


사용자가 사용하지 않고 있거나 성능이 남아 돌경우(?) 업데이트를 실시해서 언제나 최신 버전을 사용할 수 있게 해주는 편리한 기능입니다.


하지만 사용자에 따라서는 구버전에서 더 이상 업데이트를 하기 싫은 경우도 있을 것입니다. 과도하게 인터페이스가 바뀌었거나 구형 OS를 사용할 수 밖에 없어서 해당 버전에서 굴릴 수 있는 구버전만 돌아간다던지 등등...


특히 몇몇 앱의 경우에는 새로운 버전보다 구버전이 훨씬 더 나은 경우도 있습니다. 바로 ES 파일 탐색기가 대표적인데요. 안드로이드에서 사용하는 파일 탐색기 앱중에서 가장 좋은 평가를 받았고 깔끔하다는 소리를 많이 들었습니다. 경쟁작인 아스트로 파일 매니저는 매번 업데이트 할 때마다 버그로 몸살을 앓고 있던 반면 ES파일 탐색기는 상당히 안정적인 파일 관리가 가능했습니다.


파일 관리라는 기능에 충실했던 ES 파일 탐색기 3.0



하지만...ES 파일 탐색기가 4.0으로 되던 날 쓸데없는 메모리 정리 기능과 갑작스럽게 뜨는 광고, 무료 버전보다도 못한 유료 버전으로 평가가 바닥을 향해 내려가기 시작했습니다. 사람들은 구버전으로 되돌리기를 원했고 APK백업 사이트를 통해 APK 파일을 구해서 설치했습니다.


다운로드 매니저와 시스템 분석기, 메모리정리 등 각종 잡 기능이 붙어버리면서 무거워져버린 ES 파일 탐색기 4.0의 모습 여기에 가끔 광고도 뜬다.



하지만.... 이놈의 Play스토어는 생각없이 업데이트를 진행해서 다시 4.0으로 버전업을 자행하더군요.



그리하여 Play스토어의 자동업데이트를 막는 방법에 대해 알려드리겠습니다. 생각보다 알고 계신 분이 적더군요.


1. 우선 Play스토어에서 구 버전으로 되돌리고 싶은 앱을 제거합니다.

2. 해당앱의 구버전APK를 구해서 설치합니다.

저는 http://www.apkhere.com/app/com.estrongs.android.pop

이곳을 이용했습니다. 링크는 ES 파일 탐색기의 APK를 모아놓은 곳입니다.


아래에 가면 Old Version이 있으니 여기서 다운로드 받으면 됩니다. 3.2.5.5를 다운로드 받으면 되겠군요.

이곳 말고도 다른 APK 백업 사이트는 많으니 찾아보자.


com.estrongs.android.pop_3.2.5.5.apk

혹시 몰라서 여기에도 올립니다.


3. Play스토어가 업데이트를 하기 전에 먼저 Play스토어의 내 앱으로 들어갑니다.

4. 설치 된 앱 리스트 중에서 APK로 설치한 앱을 누릅니다.

5. 오른쪽 위의 :을 누른 뒤에 자동 업데이트의 체크를 풀어버립니다.

아래에 있는 업데이트 버튼이 실행을 바뀌었다면... 다시 제거 후 똑같은 작업을 해야 한다. 그냥 통신을 끊자.

이렇게 하면 자동 업데이트가 풀리면서 내가 원하지 않는 이상 Play스토어가 업데이트를 하는 일이 발생하지 않게 됩니다. 그리고 원하지 않는 업데이트를 막을 수 있게 됩니다.


6. 가끔 앱중에서 자체적으로 업데이트를 진단하는 경우가 있는데 당연히 업데이트를 안 한다고 하면 되겠습니다.

자동 업데이트 무효화 기능이 알아서 있을 경우에는 참 좋은데 몇몇 앱은 업데이트를 강제하기도 한다. 이 경우는 답이 없다.

안드로이드 사용자 분들 중에서 최신판 앱이 싫으신 분들은 이런 식으로 구버전에 눌러 앉을 수 있게 할 수 있습니다.

,



Playstation은 90년대에 처음 등장하고 지금까지 시리즈가 내려와 그동안 게임콘솔계의 큰 업체였던 SEGA를 침몰 시킨 흔한 가전업체(?) Sony의 게임기입니다.


지금은 어느새 PS4까지 나와서 게임들이 쏟아져 나오고 있습니다. 당시 소니에서는 이렇게까지 잘 나갈거라고 생각은 안 했다고 합니다. 하지만 어쨌건 게임은 충실히 나오게 되었고 이는 PS2가 나올때까지 계속되었습니다.


그렇다면 당연히 이런 게임기의 에뮬레이터가 안 나올 수는 없겠지요. 초창기에 Platstation의 에뮬레이터가 만들어지고 있다고 했을 때 말도 안 된다고 징징댔던 사람도 있었다고 합니다. 하지만 시대는 변하고 PC의 성능은 말도 안 되게 좋아져서 PS 실기만으로 해결 할 수 없는 화질 등의 개선이 이루어지는 등 지금은 에뮬레이터의 성능이 훨씬 더 막강해 졌습니다.


현재까지 알려진 Playstation의 에뮬레이터는 다음과 같습니다.


1. VGS

2. Bleem!

3. ePSXe (http://www.epsxe.com/)

4. PCSX (https://pcsxr.codeplex.com/)


이외에도 상당히 많지만 보통은 이 정도만 사용합니다.


특히 여기서 Bleem!은 에뮬레이터의 존재에 대해 많은 것을 일깨워준 물건인데 에뮬레이터 주제에 유료로 판매하려고 했던 물건입니다. 결국 소니의 저작권 철퇴를 맞고 사라지게 되었습니다.


VGS는 Shuffix란 업체에서 만든 것인데 2D는 굉장히 빨랐지만 3D가 영 아닌 모습이 나오게 되어서 이 쪽도 사용자 층이 확 줄어버렸습니다. (Shuffix란 이 업체는 VirtualPC란 엄청난 물건을 내놓게 되고 승승장구 했었지만 결국 가상머신 기술이 필요했던 Microsoft에 인수 되었습니다.)


결국 남은 것은 ePSXe와 PCSX만이 남았군요. 이 둘 중에서 유명한 것은 ePSXe입니다. 사용자층도 넓고 플러그인의 개발이 아직도 진행중입니다.


https://play.google.com/store/apps/details?id=com.epsxe.ePSXe

성능에 걸맞게 유료다! 하지만 Drastic보다는 싸다.

다만 그 성능에 걸맞게 4500원 상당하는 유료 앱이라는 것이 걸림돌입니다. PC용은 무료로 배포되고 있지만 안드로이드는 포팅상의 문제가 있는 것인지 유료입니다. 

하지만 정말 성능과 플러그인 지원만큼은 정말 훌륭합니다.


그 중 제일 대박인 플러그인은 FinalFantasy7의 로우폴리곤 모델을 하이폴리곤으로 바꿔주는 플러그인인데 기본적인 그래픽 향상이 눈에 확연히 보입니다. 그 밖에도 특정 게임용 플러그인들이 즐비합니다. 그만큼 지원이 좋다는 의미겠지요.


그럼 PCSX를 알아볼까요?

지금의 PCSX는 PCSX-Reloaded(통칭 PCSXR)라 해서 한번 PCSX에서 갈라진 프로젝트입니다. 기존의 PCSX홈페이지는 사라졌고 지금은 여기있는 PCSXR이 그 역할을 수행중입니다.

그런데 ePSXe에 비해 딱히 나은 것도 없고 사용자층이 두터운 것도 아니지만 제가 이 프로그램을 알려드리는 것은 다 이유가 있겠지요.


바로 이 프로그램이 대부분 안드로이드용 PS1 에뮬레이터의 기반 소스 코드가 되기 때문입니다. (즉, 이건 오픈소스입니다.) psx4droid란 물건이 가장 유명한데 이 물건은 아쉽게도 업데이트가 끊기고 최신 안드로이드에 대응을 못하면서 사장 되었습니다. 물론 구형 안드로이드 폰이 있으신 분은 이 쪽을 찾으시면 되겠지요.


psx4droid의 스크린샷. 하지만 안드로이드 5.0이후부터는 제대로 돌아가지 않는다...



그래서 또 다른 앱은 없나 살펴보니 PlayStore에 있더군요. 바로 이번 주인공 PowerPSX란 앱입니다.


https://play.google.com/store/apps/details?id=com.emula.popsx

광고가 붙어있기는 하지만 무료입니다. psx4droid가 정상적으로 돌아갔다면 이 쪽을 추천했겠지만 이쪽은 제대로 안 돌아가는 관계로 대신 업데이트가 정상적으로 이루어지는 PowerPSX를 추천하는 것입니다.


대놓고 PCSX를 기반으로 했다고 하는 psx4droid와 달리 PowerPSX는 딱히 기반 코드를 알려주고 있지 않습니다. 다만, PCSX의 코드를 썼을 것이라는 느낌은 여러가지 게임을 돌리면서 대충 느껴지고 있습니다. PCSX에서 생긴 문제가 여기서도 똑같이 일어나거든요.


PowerPSX로 돌린 Megaman X4 스크린샷. 간만에 추억에 잠겨.... 폭망했다.


일단 2017년 현재 현역 안드로이드 환경에서 문제가 없습니다. 다만 내장 바이오스를 사용하면 호환에 문제가 많아 (PCSX 사용시와 동일한 증상) 따로 구글에서 SCPH1001이라 검색하거나 여기서(https://www.loveroms.com/extras/psx-bios.php)바이오스를 구해서 넣어주시는 것을 추천합니다. 일본판보다는 북미판바이오스가 호환성이 더 좋다고 하네요.


그리고 VR모드라고 지원을 하기는 하는데 이쪽은 그다지 좋지는 않군요. 그냥 화면을 분할해서 양쪽에 똑같은 화면을 뿌리는 수준입니다. 혼자 게임하고 싶다면 나쁜 생각은 아닌데 굳이 그러고 싶지는 않네요. 하지만 무료에 이 정도면 훌륭합니다.


결론부터 말씀드리자면 만약 돈을 지불해서라도 호환성과 각종 플러그인 지원을 받고 싶으시다면 ePSXe를

그냥 PCSX수준의 호환성 정도면 충분하다고 생각하신다면 PowerPSX를 이용하시면 됩니다.



처음 안드로이드 에뮬레이터 글을 쓴게 14년인데 근 3년만에 새로운 글을 올렸네요. 다음에는 N64나 다른 에뮬레이터 이야기도 하고 싶은데 시간이 될지는 잘 모르겠습니다.

,

구글에서 ARC란 좀 대단한 물건을 공개했었습니다. 크롬OS에서 안드로이드 앱을 돌릴 수 있게끔 만들어진 물건인데 크롬OS나 우리가 그냥 쓰는 구글 크롬이나 별 차이가 없기에 우분투나 윈도우에서도 얼마든지 ARC를 돌릴 수 있습니다.


우선 크롬에서 안드로이드 앱을 돌리기 위해서는 http://archon-runtime.github.io/ 여기에서 런타임을 받아서 크롬에 설치해야 합니다.


원하는 곳에 압축을 풀고 크롬에서 개발자 모드로 들어가서(이후로도 계속 개발자모드로 들어가야 합니다.


주소창에 chrome://extensions 으로 들어가면 여러분이 그동안 설치한 확장이 뜨게 됩니다.


그리고 오른쪽 위의 개발자 모드를 체크하시면 "압축 해제된 확장 프로그램 로드"가 활성화 되신 것을 보실 수 있습니다.  그곳을 누르고 압축 푼 폴더를 선택해 주시면 됩니다.

그러면 아래와 같이 ARCon Custom Runtime이라는 확장이 설치됩니다.


이제 안드로이드 앱을 설치해 봐야겠지요? 물론 그냥은 어렵고... 여러분들이 가진 안드로이드 기기를 이용해주시면 됩니다.


https://play.google.com/store/apps/details?id=me.bpear.archonpackager&hl=ko

여기에 있는 Arcon Packeger을 이용해주시면 여러분들이 가지고 있는 안드로이드앱을 크롬용 앱으로 변환해줄 수 있습니다. 물론 CRX타입이 아니라 아까 런타임같은 zip으로 내놓기 때문에 아까와 마찬가지로 임의의 위치에 압축을 풀고 "압축해제된 확장 프로그램 로드" 버튼으로 설치하게 됩니다.


현재 제가 해본 결과로는 간단한 앱은 상당히 실행이 잘 되는데 Arm용 코드가 들어간 앱이나 은행앱같이 보안 프로그램을 함께 실행하는 앱은 실행이 안 됩니다.(아쉽다...) 어쨌건 이렇게 확장을 설치하게 되면 크롬앱 메뉴에 안드로이드 앱들이 함께 추가되는 진풍경을 보실 수 있게 됩니다.

,