From 72ca71eeb6b1d424dd4de1f0603ea39a1f76d35a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 13 Jul 2010 04:16:41 +0200 Subject: [PATCH] new package: add initial package 'mame' Signed-off-by: Stephan Raue --- packages/emulators/mame/build | 60 ++++ packages/emulators/mame/config/mame.ini | 266 ++++++++++++++++++ packages/emulators/mame/init.d/27_mamedirs | 36 +++ packages/emulators/mame/install | 15 + .../mame/patches/mame-0138s-cross.diff | 84 ++++++ packages/emulators/mame/url | 1 + 6 files changed, 462 insertions(+) create mode 100755 packages/emulators/mame/build create mode 100644 packages/emulators/mame/config/mame.ini create mode 100755 packages/emulators/mame/init.d/27_mamedirs create mode 100755 packages/emulators/mame/install create mode 100644 packages/emulators/mame/patches/mame-0138s-cross.diff create mode 100644 packages/emulators/mame/url diff --git a/packages/emulators/mame/build b/packages/emulators/mame/build new file mode 100755 index 0000000000..1c967f2e31 --- /dev/null +++ b/packages/emulators/mame/build @@ -0,0 +1,60 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/build toolchain +$SCRIPTS/build SDL +$SCRIPTS/build expat +$SCRIPTS/build zlib + +cd $PKG_BUILD + +# some hacks to build hosttools + setup_toolchain host + + mkdir -p obj/sdl/mame/build \ + obj/sdl/mame/osd/sdl \ + obj/sdl/mame/lib/util \ + obj/sdl/mame/lib/zlib \ + obj/sdl/mame/emu/cpu/m68000 \ + obj/sdl/mame/emu/cpu/tms57002 + + make BUILD_EXPAT=1 obj/sdl/mame/build/file2str + make BUILD_EXPAT=1 obj/sdl/mame/build/png2bdc + make BUILD_EXPAT=1 obj/sdl/mame/build/m68kmake + make BUILD_EXPAT=1 obj/sdl/mame/build/tmsmake + + cp obj/sdl/mame/build/file2str $ROOT/$TOOLCHAIN/bin/mame-file2str + cp obj/sdl/mame/build/png2bdc $ROOT/$TOOLCHAIN/bin/mame-png2bdc + cp obj/sdl/mame/build/m68kmake $ROOT/$TOOLCHAIN/bin/mame-m68kmake + cp obj/sdl/mame/build/tmsmake $ROOT/$TOOLCHAIN/bin/mame-tmsmake + + make clean + +# now build + setup_toolchain target + + if [ "$TARGET_ARCH" = x86_64 ]; then + ARCH_OPTS="PTR64=1" + else + ARCH_OPTS="PTR64=0" + fi + + if [ "$DEBUG" = yes ]; then + DEBUG_OPTS="OPTIMIZE=0 DEBUG=1 SYMBOLS=1 PROFILER=1 PROFILE=1" + else + DEBUG_OPTS="OPTIMIZE=3" + fi + + make CC="$TARGET_CC" \ + AR="$TARGET_AR" \ + LD="$TARGET_CXX" \ + ARCHOPTS="$TARGET_CFLAGS" \ + OPT_FLAGS='-DINI_PATH="\"/etc/mame/\""' \ + NO_DEBUGGER=1 \ + NOWERROR=1 \ + BUILD_EXPAT=0 \ + BUILD_ZLIB=0 \ + SUFFIX64="" \ + $ARCH_OPTS \ + $DEBUG_OPTS diff --git a/packages/emulators/mame/config/mame.ini b/packages/emulators/mame/config/mame.ini new file mode 100644 index 0000000000..d2dde9be10 --- /dev/null +++ b/packages/emulators/mame/config/mame.ini @@ -0,0 +1,266 @@ + + +# +# CORE CONFIGURATION OPTIONS +# +readconfig 1 + +# +# CORE SEARCH PATH OPTIONS +# +rompath $HOME/emulators/mame/roms +samplepath $HOME/emulators/mame/samples +artpath $HOME/emulators/mame/artwork +ctrlrpath $HOME/emulators/mame/ctrlr +inipath /etc/mame;$HOME/.config +fontpath $HOME/emulators/mame/fonts +cheatpath $HOME/emulators/mame/cheat +crosshairpath $HOME/emulators/mame/crosshair + +# +# CORE OUTPUT DIRECTORY OPTIONS +# +cfg_directory $HOME/emulators/mame/cfg +nvram_directory $HOME/emulators/mame/nvram +memcard_directory $HOME/emulators/mame/memcard +input_directory $HOME/emulators/mame/inp +state_directory $HOME/emulators/mame/sta +snapshot_directory $HOME/emulators/mame/snap +diff_directory $HOME/emulators/mame/diff +comment_directory $HOME/emulators/mame/comments + +# +# CORE STATE/PLAYBACK OPTIONS +# +state +autosave 1 +playback +record +mngwrite +aviwrite +wavwrite +snapname %g/%i +snapsize auto +snapview internal +burnin 0 + +# +# CORE PERFORMANCE OPTIONS +# +autoframeskip 0 +frameskip 0 +seconds_to_run 0 +throttle 1 +sleep 1 +speed 1.0 +refreshspeed 0 + +# +# CORE ROTATION OPTIONS +# +rotate 1 +ror 0 +rol 0 +autoror 0 +autorol 0 +flipx 0 +flipy 0 + +# +# CORE ARTWORK OPTIONS +# +artwork_crop 0 +use_backdrops 1 +use_overlays 1 +use_bezels 1 + +# +# CORE SCREEN OPTIONS +# +brightness 1.0 +contrast 1.0 +gamma 1.0 +pause_brightness 0.65 + +# +# CORE VECTOR OPTIONS +# +antialias 1 +beam 1.0 +flicker 0 + +# +# CORE SOUND OPTIONS +# +sound 1 +samplerate 48000 +samples 1 +volume 0 + +# +# CORE INPUT OPTIONS +# +coin_lockout 1 +ctrlr +mouse 0 +joystick 1 +lightgun 0 +multikeyboard 0 +multimouse 0 +steadykey 0 +offscreen_reload 0 +joystick_map auto +joystick_deadzone 0.3 +joystick_saturation 0.85 +natural 0 +uimodekey auto + +# +# CORE INPUT AUTOMATIC ENABLE OPTIONS +# +paddle_device keyboard +adstick_device keyboard +pedal_device keyboard +dial_device keyboard +trackball_device keyboard +lightgun_device keyboard +positional_device keyboard +mouse_device mouse + +# +# CORE DEBUGGING OPTIONS +# +log 0 +verbose 0 +update_in_pause 0 +debug 0 +debugscript +debug_internal 0 + +# +# CORE MISC OPTIONS +# +bios +cheat 0 +skip_gameinfo 0 + +# +# DEBUGGING OPTIONS +# +oslog 0 + +# +# PERFORMANCE OPTIONS +# +multithreading 1 +numprocessors auto +sdlvideofps 0 + +# +# VIDEO OPTIONS +# +video opengl +numscreens 1 +window 0 +maximize 1 +keepaspect 1 +unevenstretch 1 +effect none +centerh 1 +centerv 1 +waitvsync 0 +scalemode none + +# +# OpenGL-SPECIFIC OPTIONS +# +filter 1 +prescale 1 +gl_forcepow2texture 0 +gl_notexturerect 0 +gl_vbo 1 +gl_pbo 1 +gl_glsl 0 +gl_glsl_filter 1 +glsl_shader_mame0 none +glsl_shader_mame1 none +glsl_shader_mame2 none +glsl_shader_mame3 none +glsl_shader_mame4 none +glsl_shader_mame5 none +glsl_shader_mame6 none +glsl_shader_mame7 none +glsl_shader_mame8 none +glsl_shader_mame9 none +glsl_shader_screen0 none +glsl_shader_screen1 none +glsl_shader_screen2 none +glsl_shader_screen3 none +glsl_shader_screen4 none +glsl_shader_screen5 none +glsl_shader_screen6 none +glsl_shader_screen7 none +glsl_shader_screen8 none +glsl_shader_screen9 none +gl_glsl_vid_attr 1 + +# +# PER-WINDOW VIDEO OPTIONS +# +screen auto +aspect auto +resolution auto +view auto +screen0 auto +aspect0 auto +resolution0 auto +view0 auto +screen1 auto +aspect1 auto +resolution1 auto +view1 auto +screen2 auto +aspect2 auto +resolution2 auto +view2 auto +screen3 auto +aspect3 auto +resolution3 auto +view3 auto + +# +# FULL SCREEN OPTIONS +# +switchres 0 +useallheads 0 + +# +# SOUND OPTIONS +# +audio_latency 3 + +# +# SDL KEYBOARD MAPPING +# +keymap 0 +keymap_file keymap.dat + +# +# SDL JOYSTICK MAPPING +# +joy_idx1 auto +joy_idx2 auto +joy_idx3 auto +joy_idx4 auto +joy_idx5 auto +joy_idx6 auto +joy_idx7 auto +joy_idx8 auto +sixaxis 0 + +# +# SDL LOWLEVEL DRIVER OPTIONS +# +videodriver auto +audiodriver auto +gl_lib auto diff --git a/packages/emulators/mame/init.d/27_mamedirs b/packages/emulators/mame/init.d/27_mamedirs new file mode 100755 index 0000000000..886b674804 --- /dev/null +++ b/packages/emulators/mame/init.d/27_mamedirs @@ -0,0 +1,36 @@ +#!/bin/sh + +################################################################################ +# Copyright (C) 2009-2010 OpenELEC.tv +# http://www.openelec.tv +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +# +# make directory structure for mame +# +# runlevels: openelec, textmode + +. /etc/profile + +progress "make diretorys for MAME" + +( + for dir in roms samples artwork ctrlr ini fonts cheat crosshair; do + mkdir -p $HOME/emulators/mame/$dir + done +)& \ No newline at end of file diff --git a/packages/emulators/mame/install b/packages/emulators/mame/install new file mode 100755 index 0000000000..956134db24 --- /dev/null +++ b/packages/emulators/mame/install @@ -0,0 +1,15 @@ +#!/bin/sh + +. config/options + +$SCRIPTS/install SDL +$SCRIPTS/install expat +$SCRIPTS/install zlib + +PKG_DIR=`find $PACKAGES -type d -name $1` + +mkdir -p $INSTALL/usr/bin + cp $PKG_BUILD/mame $INSTALL/usr/bin/mame + +mkdir -p $INSTALL/etc/mame + cp $PKG_DIR/config/mame.ini $INSTALL/etc/mame diff --git a/packages/emulators/mame/patches/mame-0138s-cross.diff b/packages/emulators/mame/patches/mame-0138s-cross.diff new file mode 100644 index 0000000000..6e56e84c68 --- /dev/null +++ b/packages/emulators/mame/patches/mame-0138s-cross.diff @@ -0,0 +1,84 @@ +diff -Naur mame-0138s/makefile mame-0138s.patch/makefile +--- mame-0138s/makefile 2010-05-13 11:12:54.000000000 +0200 ++++ mame-0138s.patch/makefile 2010-07-13 01:04:52.722999679 +0200 +@@ -206,10 +206,10 @@ + # BIGENDIAN = 1 + + # uncomment next line to build expat as part of MAME build +-BUILD_EXPAT = 1 ++# BUILD_EXPAT = 1 + + # uncomment next line to build zlib as part of MAME build +-BUILD_ZLIB = 1 ++# BUILD_ZLIB = 1 + + # uncomment next line to include the symbols + # SYMBOLS = 1 +@@ -439,7 +439,7 @@ + ifneq ($(OPTIMIZE),0) + ifneq ($(TARGETOS),os2) + ifndef NOWERROR +-CCOMFLAGS += -Werror -fno-strict-aliasing $(ARCHOPTS) ++CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS) + else + CCOMFLAGS += -fno-strict-aliasing $(ARCHOPTS) + endif +@@ -706,12 +706,12 @@ + + $(OBJ)/%.lh: $(SRC)/%.lay $(FILE2STR) + @echo Converting $<... +- @$(FILE2STR) $< $@ layout_$(basename $(notdir $<)) ++ @mame-file2str $< $@ layout_$(basename $(notdir $<)) + + $(OBJ)/%.fh: $(SRC)/%.png $(PNG2BDC) $(FILE2STR) + @echo Converting $<... +- @$(PNG2BDC) $< $(OBJ)/temp.bdc +- @$(FILE2STR) $(OBJ)/temp.bdc $@ font_$(basename $(notdir $<)) UINT8 ++ @mame-png2bdc $< $(OBJ)/temp.bdc ++ @mame-file2str $(OBJ)/temp.bdc $@ font_$(basename $(notdir $<)) UINT8 + + $(OBJ)/%.a: + @echo Archiving $@... +diff -Naur mame-0138s/src/emu/cpu/cpu.mak mame-0138s.patch/src/emu/cpu/cpu.mak +--- mame-0138s/src/emu/cpu/cpu.mak 2010-02-03 22:20:20.000000000 +0100 ++++ mame-0138s.patch/src/emu/cpu/cpu.mak 2010-07-12 23:04:03.416999399 +0200 +@@ -1019,7 +1019,7 @@ + # rule to generate the C files + $(CPUOBJ)/m68000/m68kops.c: $(M68KMAKE) $(CPUSRC)/m68000/m68k_in.c + @echo Generating M68K source files... +- $(M68KMAKE) $(CPUOBJ)/m68000 $(CPUSRC)/m68000/m68k_in.c ++ mame-m68kmake$(EXE) $(CPUOBJ)/m68000 $(CPUSRC)/m68000/m68k_in.c + + # rule to build the generator + ifneq ($(CROSS_BUILD),1) +@@ -1548,7 +1548,7 @@ + # rule to generate the C file + $(CPUOBJ)/tms57002/tms57002.inc: $(TMSMAKE) $(CPUSRC)/tms57002/tmsinstr.lst + @echo Generating TMS57002 source file... +- $(TMSMAKE) $(CPUSRC)/tms57002/tmsinstr.lst $@ ++ mame-tmsmake$(EXE) $(CPUSRC)/tms57002/tmsinstr.lst $@ + + # rule to build the generator + ifneq ($(CROSS_BUILD),1) +diff -Naur mame-0138s/src/osd/sdl/sdl.mak mame-0138s.patch/src/osd/sdl/sdl.mak +--- mame-0138s/src/osd/sdl/sdl.mak 2010-02-14 04:47:30.000000000 +0100 ++++ mame-0138s.patch/src/osd/sdl/sdl.mak 2010-07-13 01:07:47.158999892 +0200 +@@ -454,14 +454,14 @@ + + # the new debugger relies on GTK+ in addition to the base SDLMAME needs + # Non-X11 builds can not use the debugger +-CCOMFLAGS += `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gconf-2.0` +-LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0` ++#CCOMFLAGS += `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gconf-2.0` ++#LIBS += `pkg-config --libs gtk+-2.0` `pkg-config --libs gconf-2.0` + #CCOMFLAGS += -DGTK_DISABLE_DEPRECATED + + # some systems still put important things in a different prefix +-LIBS += -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/openwin/lib ++#LIBS += -L/usr/X11/lib -L/usr/X11R6/lib -L/usr/openwin/lib + # make sure we can find X headers +-CCOMFLAGS += -I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include ++# CCOMFLAGS += -I/usr/X11/include -I/usr/X11R6/include -I/usr/openwin/include + endif # NO_X11 + + #------------------------------------------------- diff --git a/packages/emulators/mame/url b/packages/emulators/mame/url new file mode 100644 index 0000000000..328f551ebb --- /dev/null +++ b/packages/emulators/mame/url @@ -0,0 +1 @@ +http://sources.openelec.tv/svn/mame-0138s.tar.bz2