new package: add initial package 'mame'

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-07-13 04:16:41 +02:00
parent ae72f9d4bf
commit 72ca71eeb6
6 changed files with 462 additions and 0 deletions

60
packages/emulators/mame/build Executable file
View File

@ -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

View File

@ -0,0 +1,266 @@
<UNADORNED0>
#
# 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

View File

@ -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
)&

15
packages/emulators/mame/install Executable file
View File

@ -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

View File

@ -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
#-------------------------------------------------

View File

@ -0,0 +1 @@
http://sources.openelec.tv/svn/mame-0138s.tar.bz2