DOS 게임 페르시아의 왕자의 소스코드를 직접 컴파일하여 실행하는법

오늘은 꽤 재미있는 내용을 다뤄볼까 합니다. 제가 어릴적에 매우 즐겨했던 도스(DOS)기반의 게임이 있었는데요, “페르시아의 왕자(Prince of Persia)” 입니다. 

1990년 조던 메크너가 발매한 도스 기반의 액션 어드벤처 게임이었는데 당시만 해도 엄청난 인기를 구가하던 게임이라고 볼 수 있습니다. 

1990년에 출시한 게임이라고 볼 수 없는 나름 화려한 그래픽, 애드립(Adlib) 사운드 지원, 난이도 높은 게임 레벨, 캐릭터들의 세세한 움직임과 각종 아이템 등은 많은 게이머들의 흥미를 불러일으키키 충분하였던거 같습니다. 저도 참 많이 했던 게임이라고 볼 수 있겠네요. 

당시에는 286 AT에 흑백 모니터(허큘리스)를 보유하고 있었는데 허큘리스 그래픽 모드를 지원하는 “페르시아 왕자”와 말로 제게는 최애의 게임이었던거 같습니다. 어린시절에 시간 가는줄 모르고 했던 기억이 생생한거 같습니다. 

최근에도 “페르시아의 왕자”를 Windows 10 기반의 PC 에서도 해볼 수 있는데요, 가장 쉬운 방법은 도스박스(DOSBox)를 실행시켜서 도스 게임을 돌리는 것이지요. 따라서 “페르시아의 왕자”도 Windows 10에서 실행이 가능합니다. 

위 링크에서 DOSBox 를 다운로드 받아서 설치를 한다음 도스게임들이 있는 폴더 경로로 마운트만 해주면 예전 추억이 돋던 도스 게임들을 실행할 수 있습니다. “페르시아의 왕자”도 재밌게 즐길 수 있게 되는 것이지요. 

도스박스의 홈페이지를 방문하여 확인 해 보니 도스박스 또한 “오픈소스”로 배포되고 있다는 사실을 알게 되었습니다. 요즘은 “오픈소스”가 아닌 소프트웨어가 없을 정도로 많은 소프트웨어들이 오픈소스 형태로 배포가 되고 있는게 좋은거 같습니다. 저같이 소프트웨어로 밥 먹고 사는 사람에게는 말이지요 ㅋ

그래서 이리저리 따라가다 보니 어느 사이트에서는 아예 웹 상에서 도스게임들을 실행 할 수 있게 공개를 해 놓고 있습니다. 웹에서 아마도 도스박스를 돌려서 실행을 하게 구현을 해놓은거 같습니다. 

위의 링크의 사이트에서도 “페르시아의 왕자”를 즐길 수 있습니다. 관심있는 분들은 방문하셔서 직접 해보셔도 됩니다^^

위의 사이트를 방문해서 “페르시아의 왕자”를 하다보니 “페르시아의 왕자”의 저작권이 어떻게 되어 있는지 궁금하더군요. 호기심에 한번 찾아보니…. 와우! 개발자인 “조던 메크너”가 이미 “페르시아의 왕자”의 소스를 인터넷 상에 공개해논 사실을 알게 되었습니다. 

위의 링크는 개발자인 “조던 메크너”가 지난 2012년에 “페르시아의 왕자” 소스를 Github 사이트에 공개를 해논 것입니다. 이 소스를 공개하게 된 계기도 상당히 우연이라고 하더군요. 

원래 “페르시아의 왕자”는 1989년 애플-2 용으로 발매가 되었지만 판매가 저조하여 1990년에 IBM 호환 PC(MS-DOS)용으로 컨버전 되어 재 발매가 되었다고 합니다. 이때에 소위 “페르시아의 왕자”가 대박을 쳤던 것이지요. 

하지만 20년이 지난 시점에서도 “조던 메크너”는 페르시아의 왕자의 오리지널 소스가 어디 있는지 알수가 없었다고 합니다. 그러다 “조던 메크너”의 고향집에서 우연히 메크너의 아버지가 물품 정리를 하던 도중에 “페르시아의 왕자”의 원본 소스가 담긴 디스크를 발견하여 “조던 메크너”에게 보내주었다고 합니다. 이로써 “페르시아의 왕자” 원본 소스가 세상에 공개가 되게 되어던 것이지요. 

그러나 현재 공개된 “페르시아의 왕자” 소스는 도스 기반에서 실행하던 페르시아의 왕자 소스는 아닙니다. 1989년에 처음 발매된 애플-2 기반에서 구현된 소스를 공개하고 있습니다. 

소스는 6502 기반의 어셈블리 소스입니다. 따라서 C에 익숙한 저에게는 다소 익숙치 않은 소스코드 인거 같군요. 

그래도 뭔가 아쉬운거 같아서 조금 더 알아보니… 이 소스를 PC에서 컴파일하여 실행할 수 있는 방법은 찾아냈습니다. 그 방법을 여기서 공유해볼까 합니다. 

페르시아의 왕자 원본 소스코드로 Windows 10 에서 컴파일 해보기

구글에서 이리저리 검색을 해보니 역시나 저와 같은 생각을 한 누군가가 “페르시아의 왕자”의 원본 소스코드를 컴파일 할 수 있게 가이드를 해놨더군요. 그것을 활용하여 컴파일을 해보겠습니다. 

먼저 아래 링크의 소스를 다운로드 받습니다. 

위 링크의 맨 윗 페이지에 build.zip 파일을 다운로드 받아서 적절한 위치에 압축을 풉니다. 그런 다음에 최 상단 폴더에서 Build/win32의 모든 파일들을 최 상위 폴더로 전부 복사해 줍니다. 

그런 다음에 “실행 – cmd” 를 실행시켜서 압축을 해제했던 최 상위 폴더로 이동해 줍니다. 

최 상위의 파일들을 보니 Makefile과 make.exe 라는 파일이 보이시죠? make.exe 파일은 Build/win32 에 있었던 파일들 중 하나입니다. 

여기서 다음과 같이 명령어를 입력하면 “페르시아의 왕자”의 소스코드가 컴파일이 됩니다. 

make clean all

make 명령어를 실행하면 위의 화면과 같이 컴파일이 진행되고 총 3개의 파일이 생성되는 것을 볼 수 있습니다. 이 3개의 이미지가 실제 애플-2 에서 실행할 수 있는 바이너리 파일입니다. 

그렇다면 이들 파일들을 Windows 10 에서 어떻게 실행을 시킬 수 있을까요? 그것은 “애플-2” 에뮬레이터를 이용하면 됩니다. 

애플-2 에뮬레이터 다운로드 하여 컴파일한 페르시아의 왕자 바이너리 실행시키기

아래의 링크에 있는 “애플-2” 에뮬레이터의 압축 파일을 다운로드 합니다. 

확인해보니 최신 버전은 1.29.11.0 이네요. 다운로드 해서 적절한 위치에 폴더를 생성하여 압축만 풀기만 하면 됩니다. 

파일들을 보니 “Applewin.exe” 라는 실행 파일이 보이는군요. 이 파일을 실행하면 됩니다. 

요즘에는 참 안되는게 없는거 같군요. Windows 10 에서도 애플-2 의 프로그램들을 실행시켜 볼 수 있다는게 흥미로운거 같습니다. 자 이제 “페르시아의 왕자”를 실행을 시켜볼려면 에뮬레이터의 오른쪽 우측의 디스크 모양의 아이콘을 클릭합니다. 일단 “1”이라고 번호가 매겨진 아이콘을 클릭하면 됩니다. 

좀전에 컴파일 하였던 파일중 “PrinceOfPersia_5.25_SideA.nib” 라는 파일을 선택하면 됩니다. “열기”를 누릅니다. 

1번 디스크에 “페르시아의 왕자 바이너리”가 들어간거 같네요. 에뮬레이터를 실행시키려면 오른쪽 상단의 사과 모양의 아이콘을 누르면 됩니다. 

와우! 에뮬레이터에서 좀전에 컴파일 하였던 “페르시아의 왕자”가 실행이 되는군요. 실제 게임 화면을 볼까요?

도스 환경에서 실행하던 “페르시아의 왕자”랑 똑같은거 같습니다. 대신에 사운드나 그래픽이 약간 떨어지는 듯한 느낌은 받는군요. 키 조작은 기본적으로 숫자 패드로 조작을 하면 됩니다. 

막상 소스 파일을 컴파일 하여 실행을 시켜보니 생각보다 어려운 과정은 아닌듯 합니다. 소스파일을 다운로드 받아 컴파일 후 “애플-2” 에뮬레이터로 컴파일한 “페르시아의 왕자”의 바이너리만 실행 시키면 됩니다. 

소스가 6502 어셈으로 되어 있어서 만약 수정을 해보려면 6502 어셈을 공부를 해야 하겠네요. 그럼에도 당시의 전설적인 게임인 “페르시아의 왕자” 소스를 손수 공개해준 개발자 “조던 메크너”에게 감사하단 말을 하고 싶습니다. 

이 글을 보시면 여러분들도 시간나실때 한번 직접 해보시는 것도 재밌는 경험이 될꺼 같습니다.