Home » 산딸기 가지고 놀기 » 라즈베리파이 네오지오 에뮬 컴파일 및 구동하기(neogeo compile)

 라즈베리파이 네오지오 에뮬 컴파일 및 구동

Created Date: 2013.06.26
Modified Date: 2014.01.31
revision 2

 0. Acade Pi Machine ?

그림1

라즈베리파이를 활용한 프로젝트 중 기존 PC에서 게임 에뮬레이터를 이용해 게임을 즐기던 프로젝트 팀들 중 초소형 크기의 라즈베리파이 역시 다양한 형태의 에뮬레이터 게임기를 제 작 공개된 프로젝트들이 있다. 또한 사용되는 에뮬레이터 또한 게임에서 8Bit 컴퓨터로 이동 되고 점점 늘어나 현재는 도스용 에뮬레이터의 최강이라 지칭되는 rpix86의 경우에는 DosBO X  활용되는 소프트웨어는 대부분이 공개 오픈소스에 기반해 제작되어 전세계 많은 라즈베리 파이 사용층을 늘리는 데 큰 공헌을 하고 있다.

 

이 중 오늘 필자는 이번 단락에서는 에뮬레이터 프로그램 중 네오지오/ PiMAME와 같은 게임 용 에뮬레이터, 최근 급부상하는 DOS용 에뮬레이터인 rpix86를 설치 후, 환경설정 수정을 통해 라즈베리파이를 게임기로서의 기능을 추가 해 보려 한다.

1. 라즈베리파이에 네오지오 설치하기

1-1. 네오지오(NEOGEO) 설치 준비

라즈베리파에서 네오지오 에뮬레이터 구동을 위해선 UNIX용 네오지오인 Gngeo source를 다운로드 받고, 라즈베리파이 내에서 컴파일을 진행 하여야 한다.

하지만, gngeo for UNIX 는 컴파일 진행 시 사용하는 gcc 라이브러리를 사용하지 않고, SDL 라이브러리를 이용한 컴파일을 진행하므로 사전에 SDL pakage를 설치해 오류가 발생치 않도록 하자.

pi@rasplay ~ $ sudo apt-get update
pi@rasplay ~ $ sudo apt-get upgrade
pi@rasplay ~ $ sudo apt-get install -y libsdl-dev

Reading package lists… Done

Building dependency tree

Reading state information… Done

Note, selecting ‘libsdl1.2-dev’ instead of ‘libsdl-dev’

The following extra packages will be installed:

 libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev

 libdbus-1-dev libdirectfb-dev libdirectfb-extra libelf1 libgl1-mesa-dev

 libglib2.0-bin libglib2.0-dev libglu1-mesa libglu1-mesa-dev libjpeg8-dev

 libpcre3-dev libpcrecpp0 libpng12-dev libpthread-stubs0

 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libslang2-dev

 libts-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev

 libxext-dev mesa-common-dev x11proto-core-dev x11proto-input-dev

 x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev

Suggested packages:

 

1-2. 네오지오(NEOGEO) 컴파일 소스 다운로드 및 압축해제

기존 독일에서 운영되던 gngeo 오픈 프로젝트 사이트에서 배포중 이던 소스(GnGeo 0.7)는 2011년도에 구글코드 사이트로 이동을 하였으므로 최신 소스(GnGeo 0.8)를 다운로드 받기 위해선 googlecode.com 을 이용해 소스를 다운로드 받도록 하자.

pi@rasplay ~ $ wget https://gngeo.googlecode.com/files/gngeo-0.8.tar.gz

–2013-06-26 04:44:10–  https://gngeo.googlecode.com/files/gngeo-0.8.tar.gz

Resolving gngeo.googlecode.com (gngeo.googlecode.com)… 74.125.31.82, 2404:6800:4008:c01::52

Connecting to gngeo.googlecode.com (gngeo.googlecode.com)|74.125.31.82|:443… connected.

HTTP request sent, awaiting response… 200 OK

Length: 1043579 (1019K) [application/x-gzip]

Saving to: `gngeo-0.8.tar.gz’

100%[======================================>] 1,043,579    700K/s   in 1.5s

2013-06-26 04:44:17 (700 KB/s) – `gngeo-0.8.tar.gz’ saved [1043579/1043579]

pi@rasplay ~ $ tar zvxf gngeo-0.8.tar.gz

gngeo-0.8/

gngeo-0.8/depcomp

gngeo-0.8/Makefile.am

gngeo-0.8/NEWS

gngeo-0.8/config.win32

…[continue]…

gngeo-0.8/src/memcpy.S

gngeo-0.8/romrc

gngeo-0.8/install-sh

 

1-3. gngeo 컴파일 하기

컴파일을 위한 기본적인 준비가 마무리 되었으니 압축해제 후, 생성된 ‘~/gngeo-0.8’ 디렉토 리로 이동 후, 컴파일을 진행 하도록 하자.

pi@rasplay ~ $ cd gngeo-0.8
pi@rasplay ~/gngeo-0.8 $ ./configure

…[continue]…

checking build system type… armv6l-unknown-linux-gnu

checking host system type… armv6l-unknown-linux-gnu

checking whether make sets $(MAKE)… yes

config.status: creating src/raze/Makefile

config.status: creating src/star/Makefile

config.status: creating src/mamez80/Makefile

config.status: creating config.h

config.status: executing depfiles commands

pi@rasplay ~/gngeo-0.8 $ make

make  all-recursive

make[1]: Entering directory `/home/pi/gngeo-0.8′

Making all in src

make[2]: Entering directory `/home/pi/gngeo-0.8/src’

Making all in effect

make[3]: Entering directory `/home/pi/gngeo-0.8/src/effect’

gcc -DHAVE_CONFIG_H -I. -I../..     -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O3 -Wall -Wno-unused -funroll-loops                     -ffast-math -g -MT scale2x.o -MD -MP -MF .deps/scale2x.Tpo -c -o scale2x.o scale2x.c

…[continue]…

k.o menu.o roms.o mame_layer.o neoboot.o event.o stb_image.o stb_zlib.o  generator68k_interf.o   mamez80_interf.o    effect/libeffect.a blitter/libblitter.a ym2610/libym2610.a generator68k/libgenerator68k.a mamez80/libmamez80.a  -lz -lm  -L/usr/lib/arm-linux-gnueabihf -lSDL

make[3]: Leaving directory `/home/pi/gngeo-0.8/src’

make[2]: Leaving directory `/home/pi/gngeo-0.8/src’

Making all in gngeo.dat

make[2]: Entering directory `/home/pi/gngeo-0.8/gngeo.dat’

make[1]: Leaving directory `/home/pi/gngeo-0.8′

pi@rasplay ~/gngeo-0.8 $ sudo make install

Making install in src

make[1]: Entering directory `/home/pi/gngeo-0.8/src’

Making install in effect

make[2]: Entering directory `/home/pi/gngeo-0.8/src/effect’

make[3]: Entering directory `/home/pi/gngeo-0.8/src/effect’

make[3]: Nothing to be done for `install-exec-am’.

make[3]: Nothing to be done for `install-data-am’.

make[3]: Leaving directory `/home/pi/gngeo-0.8/src/effect’

make[2]: Leaving directory `/home/pi/gngeo-0.8/src/effect’

Making install in blitter

make[2]: Entering directory `/home/pi/gngeo-0.8/src/blitter’

make[3]: Entering directory `/home/pi/gngeo-0.8/src/blitter’

make[3]: Nothing to be done for `install-exec-am’.

make[3]: Nothing to be done for `install-data-am’.

make[3]: Leaving directory `/home/pi/gngeo-0.8/src/blitter’

make[2]: Leaving directory `/home/pi/gngeo-0.8/src/blitter’

Making install in ym2610

make[2]: Entering directory `/home/pi/gngeo-0.8/src/ym2610′

make[3]: Entering directory `/home/pi/gngeo-0.8/src/ym2610′

make[3]: Nothing to be done for `install-exec-am’.

make[3]: Nothing to be done for `install-data-am’.

make[3]: Leaving directory `/home/pi/gngeo-0.8/src/ym2610′

make[2]: Leaving directory `/home/pi/gngeo-0.8/src/ym2610′

Making install in generator68k

make[2]: Entering directory `/home/pi/gngeo-0.8/src/generator68k’

 

 2. Neogeo bios 설치 및 환경설정

1번 항목을 통해 라즈베리파이에서 네오지오 에뮬레이터 실행파일인 ‘gngeo’ 파일을 컴파일을 완료하였다. 홈디렉토리에 gngeo 디렉토리를 생성 후 복사를 해 보자.

2-1. gngeo(실행파일) 및 gngeo_data.zip(rom list 및 skin ) 복사하기

pi@rasplay ~/gngeo-0.8 $ cd src
pi@rasplay ~/gngeo-0.8/src $ sudo mkdir ~/gngeo
pi@rasplay ~/gngeo-0.8/src $ sudo cp ~/gngeo-0.8/src/gngeo ~/gngeo/
pi@rasplay ~/gngeo-0.8/src $ sudo cp ~/gngeo-0.8/gngeo.dat/gngeo_data.zip ~/gngeo/

 

2-2. Neogeo bios 설치 및 게임실행

네오지오 에뮬레이터는 neo-geo.rom, ng-sfix.rom and ng-lo.rom의 세 가지 롬파일을 이용하도록 권장을 하고 있으나, 테스트 결과 MAME 용 네오지오 롬 파일을 이용하여도 정상 적으로 구동이 되었다.

pi@rasplay ~/gngeo-0.8/src $ cd ~/gngeo
pi@rasplay ~/gngeo $ sudo mkdir roms
pi@rasplay ~/gngeo $ cd roms
pi@rasplay ~/gngeo/roms $ sudo wget http://server1.rom-world.com/dl/c50ef5924c571a8669ea98bf625704fd/51cb918e/games/MAME/neogeo.zip
 pi@rasplay ~/gngeo/roms $ wget http://www.rasplay.org/rpi/neogeo.zip

–2013-06-27 01:20:33–  http://server1.rom-world.com/dl/c50ef5924c571a8669ea98bf625704fd/51cb918e/games/MAME/neogeo.zip

Resolving server1.rom-world.com (server1.rom-world.com)… 76.73.117.52

Connecting to server1.rom-world.com (server1.rom-world.com)|76.73.117.52|:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 266245 (260K) [application/zip]

Saving to: `neogeo.zip’

100%[======================================>] 266,245      197K/s   in 1.3s

2013-06-27 01:20:35 (197 KB/s) – `neogeo.zip’ saved [266245/266245] 

pi@rasplay ~/gngeo/roms $ ./gngeo -i /home/roms

이제 네오지오 에뮬레이터 실행을 위한 기본적인 설치 및 환경이 구축되었다.

주의할 내용은 네오지오 에뮬레이터를 실행 전에 다운로드 받은 롬파일을 컴파일을 통해 생성된 ‘gngeo_data.zip’ 내에 등록된 롬 리스트와 모두 이름이 같도록 맞쳐 주어야 한다는 점이고(압축을 해제하고 파일이름 수정도 가능함) 아울러, 에뮬레이터 실행 명령어 뒤에 본인이 설정한 롬디렉토리의 위치를 함께 옵션으로 설정을 해 주어야만 파일을 불러오는데 메뉴 상에서 롬파일이 보인다는 것에 주의하도록 하자.

그럼 이제 네오지오 에뮬레이터를 구동 테스트 해 보자.

pi@rasplay ~/gngeo/roms $ cd ~/gngeo
pi@rasplay ~/gngeo/roms $ ./gngeo -i /home/roms

X11 LXTerminal 내 에서 네오지오 구동화면(gngeorc 환경설정 수정 전)

2.3. gngeo 환경설정

앞서 기본설치 후, X11에서 네오지오 에뮬레이터가 정상구동을 함을 확인 해 보았다.

그럼 이제 마지막으로 ‘home/pi/.gngeo’ 디렉토리 내에 gngeorc 환경설정 파일 생성하여 별도의 환경설정 파일을 생성해 보도록 하자.

pi@rasplay ~/gngeo-0.8 $ cd ~
pi@rasplay ~ $ mkdir .gngeo
pi@rasplay ~ $ cd .gngeo
pi@rasplay ~/.gngeo $ sudo nano gngeorc

Tip. gngeorc.default 기본설정

# Path to dynamicly load opengl (only used for the opengl blitter)

libglpath /usr/lib/libGL.so

: 라즈베리파이 에서는 libGL.so 관련 파일은 다른위치에 존재하고 있기에 find 명령어를 확인하여 적용 해 주시기 바랍니다.

# Where your rom are?

rompath /home/pi/roms

: 본인이 설정한 롬 디렉토리로 위치로 변경을 하시면 됩니다.

# Where did you put yout neogeo.zip bios file?

biospath /home/pi/roms

: 본인이 다운로드 받은 롬바이오스 위치로 변경을 하시면 됩니다.

# Where gngeo can find its datafile (font/skin/etc.)

datafile /usr/local/share/gngeo/gngeo_data.zip

: 롬 데이터 리스트 및 스킨 파일 위치 지정 옵션이므로 변경하시면 됩니다.

* gngeorc.default 환경설정 파일은 첨부된 자료를 참고 바랍니다.

pi@rasplay ~/gngeo/roms $ cd ~/gngeo
pi@rasplay ~/gngeo/roms $ ./gngeo

X11 LXTerminal 내 에서 네오지오 구동화면(gngeorc 환경설정 수정 후)

[ 참고사이트 ]

o http://gngeo.berlios.de

o https://code.google.com/p/gngeo

o https://code.google.com/p/gxgeo/wiki/BIOS

o https://github.com/ssilverm/PiMAME/blob/master/.gngeo/gngeorc.default

o http://www.rasplay.org

o http://www.raspberrypi.org

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700