2020년 9월 29일 화요일

메탈슬러그6, reicast로 구동하는 방법

[본 게시글은 2020. 1. 23. 13:32에 작성된 글을 아카이브화를 목적으로 하였음을 분명히 밝힙니다] 

아토미스웨이브와 메탈슬러그6의 슬픈 결말

메탈슬러그6, 메탈슬러그3의 핵롬이 아니라 공식SNK로 개발되어 랄프와 클락이 추가된 아토미스웨이브 기판의 아케이드작품, 우리는 현재 PCSX2등의 ps2의 버전으로 출시된 메탈슬러그6가 매우 익숙하게 느껴지고 있다.

그러나, 메탈슬러그6가 사실은 오락실 버전의 아케이드도 있다는 사실은 그리 익숙하게 느껴지지 않는다는 건 사실인데

우선 메탈슬러그6는 불법개조에 시달리던 네오지오를 탈피하고 세가의 아토미스웨이브(atomiswave) 기판으로 출시되었으나 아토미스웨이브 자체의 흥행실패로 오히려 메탈슬러그6가 아토미스웨이브의 마지막을 장식하는 작품이 되어버렸고 이 또한 안그래도 적은 오락실기판으로 인해 아토미스웨이브의 메탈슬러그6의 보급률은 고향인 일본에서도 보기 힘들었으며 국내에서도 메탈슬러그6의 기판을 볼 수 있던 곳은 2000년대 중후반의 천호동의 어느 오락실, 현재는 부천에 있는 어느 오락실에 있더라고 하는 도시전설과 같은 이야기들이 남아있을 뿐이다.


아토미스웨이브의 유일한 에뮬레이터,DEMUL, 그리고 도전하는 MAME, 그러나...

그렇다면 아토미스 웨이브의 에뮬레이터의 상황은 어떤가. 유감스럽게도 그렇게 좋은 상황은 아니다. 아니 거의 절망적이였다. 우선 아토미스웨이브의 전용 에뮬레이터가 아예 없었다. 대신 세가의 드림캐스트 에뮬레이터를 대신하여 메가드라이브-세가 새턴 이후의 차세대 게임기 MODEL,MODEL2등의 세가 사가의 기판들의 에뮬레이터가 있었는데 그것이 바로 데뮬(DEMUL)이라는 녀석이었다. 그러나 0.7a버전을 끝으로 더이상의 개발은 볼 수 없었고 또한 아토미스웨이브는 작품수가 별로 없는데다 주 목적의 기판이 아니었기 때문에 메탈슬러그6는 가동은 가능했으나, 게임을 진행하는 도중에 작동할 수 밖에 없는 버그로 인해 게임이 불가능해짐에 따라 데뮬로 메탈슬러그6를 가동시키는 길은 불투명해져만 갔다.

물론 패드를 PC로 연결해서 게임을 하면 해당버그가 해결되어 게임이 진행이 가능했으나, 이는 결국 키보드를 사용하는 대다수의 유저에겐 불가능이라고 밖에 할 수 없었다. 당초에 메탈슬러그6를 위해 패드를 구입한다는 것 자체가 비효율적이었던 데다가 심지어 당시엔 pcsx2로 콘솔판을 구동할 수 있는 환경이 충분히 만연하였기 때문에 이러한 환경은 메탈슬러그6의 아케이드 기판은 점점 사장되어가는 분위기였다.


2013년도 상반기, MAME팀에서 믿을 수 없는 소식을 보내온다. PGM의 바이오스를 이용하여 PGM 아케이드를 구동할 수 있게 되면서 당시 에뮬레이터계를 들썩인다. PGM은 대만의 아케이드기판 회사로서 아직까지도 회자되는 명작 삼국지 던전앤드래곤 버전의 삼국전기, 메탈슬러그의 사촌격 명작으로 평가받는 데몬프론트(마역전선)를 제작한 회사로 숨은명작을 도출해낸 회사이나, 에뮬레이터등의 프로그램이 요원하여 그 이전까지 에뮬레이터 자체를 찾을 수 없어 삼국전기만 쥬얼CD로 할 수밖에 없는 환경이었다고 한다. 문제는 이 때 당시에, 모두가 경악했던 다른 사실로는, 해킹판 메탈슬러그6가 아닌 아토미스웨이브 기판의 진짜 메탈슬러그6가 이때 구동가동목록에 같이 포함되어 업데이트되었다는 사실이었다. 이는 비교적 사장된 분위기였던 MAME아케이드계를 불지르게 만드는 자극제로 충분하였으나, 결국은 PGM만 살아남고 메탈슬러그6는 아직은 불가능하다는 결론만 나온체 시간은 또다시 흐르게 되었다.

-----------------------------------------------------------------------------------------------------------------------------------

배경은 여기까지, Retroarch와 Reicast를 설명하자

우선 레트로아크의 대한 개요를 먼저 나무위키에 저술된 내용을 통해 간단하게 알아보자.


<출처 : 나무위키>

RetroArch는 오픈소스 다중 플랫폼 다기종 에뮬레이터 프런트 엔드이다.

RetroArch는 에뮬레이터가 아닌데, 이는 RetroArch 자체에는 에뮬레이터 기능이 전무하기 때문이다. 에뮬레이터로서 기능하는 부분은 libretro라고 불리는 오픈소스 에뮬레이터 코어 집합이며 RetroArch는 이를 구동하는 libretro의 공식 프런트 엔드일 뿐이다.

libretro 코어란 쉽게 말하자면 각 에뮬레이터를 하나의 API 라이브러리로 만든 단일 파일을 뜻한다. 오픈소스 에뮬레이터들은 대부분 libretro 프로젝트를 통해 코어화 되었으며, 오직 에뮬을 구동하기 위한 핵심기능만 갖는다. 대신 기존 에뮬레이터의 GUI는 RetroArch같은 프런트 엔드에서 일임한다.

이 같은 방식의 가장 큰 장점은 환경(플랫폼)의 영향을 덜 받는 것에 있다. 잘 설계된 API를 사용하면 환경이 달라져도 동일한 코드는 동일한 결과를 수행한다. 즉, 윈도우, 리눅스, JAVA, 안드로이드 등 각기 다른 환경이라도 프런트 엔드인 RetroArch만 제대로 기능한다면 이 API를 통해 해당 에뮬레이터를 손쉽게 이용할 수 있다.

이처럼 코어화된 수많은 에뮬레이터를 각기 다른 환경에서도 하나의 통합된 인터페이스로 구동시킬 수 있다는 것이 바로 RetroArch의 강점이다.

-----------------------------------------------------------------------------------------------------------------------------------


즉, 다시 말해 레트로아크의 liberto라는 코어집합에 에뮬레이터 기능이 있으며,

이 에뮬레이터 기능을 통해 메탈슬러그6를 구동하는 방법이 존재한다. 라는 것이다.


우선 본 블로그를 통해 레트로아크를 받자. 만약 메탈슬러그6가 아닌 아토미스웨이브를 제외한 다른 게임을 즐기겠다면 최신버전을 사용하면 된다.


-2020-09-08 추가

레트로아크의 최신버전에서 지원하는 flycast코어가 아토미스웨이브를 지원하고 있으니 최신버전을 사용하고자 하는 이들은 아래 링크로 들어가서 사용하면 되겠다.


chamcham425.tistory.com/entry/Emulator16


[Retroarch]reicast의 업데이트 버전 - flycast(메탈슬러그6)

필자가 예전에 작성했던 reicast의 코어, 현재의 레트로아크에서는 빠져있는 상태에서 독자적인 애플리케이션으로 활동하고 있는 reicast는 nulldc의 gdrom의 이미지를 요구하기 때문에 롬파일을 구하

chamcham425.tistory.com



본 블로그에 올려진 빌드는 2018년 10월에 컴파일된 버전으로 아토미스웨이브를 구동할 수 있는 코어를 지원하는 버전으로 1년 이상 지난 지금 최신버전에서는 어째선지 reicast코어가 빠져있다. 공식포럼등의 홈페이지에서도 해당 빌드를 내린것으로 보아 아무래도 지원상 어떠한 문제가 생겼던 모양이다. 용량이 상당하니 각오하고 받도록 하자. 참고로 레트로아크는 64비트의 프로그램이다. 파일은 분할압축하여 본 글의 맨 하단에 첨부해놓도록 하겠다.


설치가 끝난 뒤, 레트로아크를 실행을 시키면 메인화면을 보게 된다.

PSP의 인터페이스로 되어있어 PSP좀 만져본 사람이라면 어떤식으로 되는지 감은 올것이다. 기본적인 메뉴 조작은 방향키와 엔터, 백스페이스키를 사용한다.

만약 영어로 구성이 되어 한국어가 필요하다면,

[설정] - [사용자] - [언어]를 통해 언어를 설정하면 된다.

1. 코어 생성

우선 메탈슬러그6만을 생각하도록 하자, 필요한것은 메탈슬러그6의 롬파일(아토미스웨이브), 아토미스웨이브의 바이오스 파일이다. 구글링의 스킬을 발휘하여 얻도록 한다.

첫화면 메인메뉴에서 [온라인 업데이터] - [컨텐츠 다운로더]에 들어가서 개인이 필요한 코어를 찾아서 설치한다.

reicast코어는 이미 설치되어 있으니 신경쓰지 않아도 된다.

우선 여러분들이 구해야 할 파일들은 메탈슬러그6 롬파일과 아토미스웨이브 바이오스와 나오미 바이오스, 나머지는 글쓴이가 설정을 해놓았기 때문에 크게 어렵게 느껴지지는 않을 것이다. 우선 downloads폴더에 그 두가지를 넣도록하자. 그럼 downloads폴더 안에는 다음 네가지의 파일이 있을것이다.

여기서 lst파일은 설정 및 등록파일이기 때문에 건드리지 않아도 되지만 절대로 삭제해선 안되는파일이다.

사전준비는 끝났다. 키설정과 게임구동으로 넘어가도록 하자.

<게임 구동>

우선 코어를 불러서 환경을 구성해준다. [코어 불러오기] - reicast를 선택하여 하단에 환경을 reicast로 맞춘다.

바로 밑에 [컨텐츠 불러오기] - mslug6.bin을 선택하여 게임을 구동한다.

게임이 구동되면 상단에 command를 눌러 [menu toggle]에 들어와 메뉴로 들어온다.

해당 메뉴에 밑으로 내려오면 컨트롤이 있다. 본인 컨트롤에 맞춰서 작성하면 된다.

다만 컨트롤 메뉴는 본인이 키보드를 통해 직접 입력하는 것이 아니라 각 키의 기능에 맞춰서 작성하는 것이기 때문에 다소 헷갈릴수 있다.

여기서 형광펜 친범위를 방향키를 통해 어떤 명령을 가진 키에다가 왼쪽에 명령을 넣는다는 개념이기때문에

1. 직접적으로 키보드를 설정하는 메뉴에서 본인이 사용할 키보드의 키를 선택하고

2. 그 키보드의 명령을 할당하는 것이 위의 사진의 역할이다.


1번에 해당하는 키설정은 [설정] - [입력] 에서 설정할 수 있다.

이처럼 여기에서 키보드 자체를 설정을 하고, 여기서 설정한 키들에게 직접 명령을 할당하는 것이 게임을 실행하고 들어간 컨트롤에서 하는 역할인 것이다. test와 service키를 이용해 딥스위치 설정이 가능하니 잘 활용할 수 있을 것이다.


만약 입력 키보드가 메뉴 기능키와 겹치는 게 있다면 1번째 사진에 있는 [입력 핫키 설정]에서 겹치지 않게 수정이 가능하다.


기본적인 세팅을 어느정도 해놓았기 때문에 키설정만 잘 따라온다면 크게 문제되지는 않을 것이라 생각한다.

비록 공식버전에서 제외된 코어지만 이렇게라도 자료를 남겨 보존시킬수 있다는 걸 다행이라고 생각한다.

아마 본인의 pc성능에 따라 구동성능이 달라지게 될 것이다.

하나의 추억이 이렇게 다시 살아남는 다면 그것 자체로도 의미있는 일이 아니겠는가.


<파일은 추후에 제공합니다>



댓글 없음:

댓글 쓰기