[Armadeus-commitlog] SF.net SVN: armadeus: [579] trunk/buildroot/package
Brought to you by:
sszy
|
From: <ar...@us...> - 2007-03-18 12:50:30
|
Revision: 579
http://armadeus.svn.sourceforge.net/armadeus/?rev=579&view=rev
Author: artemys
Date: 2007-03-18 05:49:33 -0700 (Sun, 18 Mar 2007)
Log Message:
-----------
[BUILDROOT] First commit for snex9x emulator integration
Added Paths:
-----------
trunk/buildroot/package/snes9x/
trunk/buildroot/package/snes9x/Config.in
trunk/buildroot/package/snes9x/snes9x-compile.patch
trunk/buildroot/package/snes9x/snes9x.mk
Added: trunk/buildroot/package/snes9x/Config.in
===================================================================
--- trunk/buildroot/package/snes9x/Config.in (rev 0)
+++ trunk/buildroot/package/snes9x/Config.in 2007-03-18 12:49:33 UTC (rev 579)
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SNES9X
+ bool "Snes9X"
+ depends on BR2_PACKAGE_SDL
+ default n
+ help
+
+ Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES) emulator. It basically allows you
+ to play most games designed for the SNES and Super Famicom Nintendo game systems on your PC or Workstation;
+ which includes some real gems that were only ever released in Japan.
+
+ http://www.snes9x.com/
Added: trunk/buildroot/package/snes9x/snes9x-compile.patch
===================================================================
--- trunk/buildroot/package/snes9x/snes9x-compile.patch (rev 0)
+++ trunk/buildroot/package/snes9x/snes9x-compile.patch 2007-03-18 12:49:33 UTC (rev 579)
@@ -0,0 +1,275 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- snes9x-sdl-1.39/unix/svga.cpp~compile
++++ snes9x-sdl-1.39/unix/svga.cpp
+@@ -48,7 +48,7 @@
+ #include <stdlib.h>
+ #include <signal.h>
+
+-#include "sdl.h"
++#include <SDL.h>
+
+ #include "snes9x.h"
+ #include "memmap.h"
+--- snes9x-sdl-1.39/unix/unix.cpp~compile
++++ snes9x-sdl-1.39/unix/unix.cpp
+@@ -50,7 +50,7 @@
+ #include <sys/types.h>
+ #include <ctype.h>
+ #include <dirent.h>
+-#include <sdl.h>
++#include <SDL.h>
+ #include "keydef.h"
+
+ #undef USE_THREADS
+@@ -189,8 +189,7 @@
+ }
+
+ /*#include "cheats.h"*/
+-extern "C"
+-int SDL_main (int argc, char **argv)
++int main (int argc, char **argv)
+ {
+ if (argc < 2)
+ S9xUsage ();
+--- /dev/null
++++ snes9x-sdl-1.39/unzip/unzipP.h
+@@ -0,0 +1,124 @@
++#ifndef _UNZIPP_H_
++#define _UNZIPP_H_
++
++#include "unzip.h"
++
++#ifndef local
++#define local static
++#endif
++/* compile with -Dlocal if your debugger can't find static symbols */
++
++
++
++#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \
++ !defined(CASESENSITIVITYDEFAULT_NO)
++#define CASESENSITIVITYDEFAULT_NO
++#endif
++
++
++#ifndef UNZ_BUFSIZE
++#define UNZ_BUFSIZE (16384)
++#endif
++
++#ifndef UNZ_MAXFILENAMEINZIP
++#define UNZ_MAXFILENAMEINZIP (256)
++#endif
++
++#ifndef ALLOC
++#define ALLOC(size) (malloc(size))
++#endif
++#ifndef TRYFREE
++#define TRYFREE(p) {if (p) free(p);}
++#endif
++
++#define SIZECENTRALDIRITEM (0x2e)
++#define SIZEZIPLOCALHEADER (0x1e)
++
++
++/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
++
++#ifndef SEEK_CUR
++#define SEEK_CUR 1
++#endif
++
++#ifndef SEEK_END
++#define SEEK_END 2
++#endif
++
++#ifndef SEEK_SET
++#define SEEK_SET 0
++#endif
++
++/* unz_file_info_interntal contain internal info about a file in zipfile */
++typedef struct unz_file_info_internal_s
++{
++ uLong offset_curfile; /* relative offset of local header 4
++ * bytes */
++} unz_file_info_internal;
++
++
++/*
++ * file_in_zip_read_info_s contain internal information about a file in
++ * zipfile, when reading and decompress it
++ */
++typedef struct
++{
++ char *read_buffer;/* internal buffer for compressed data */
++ z_stream stream; /* zLib stream structure for inflate */
++
++ uLong pos_in_zipfile; /* position in byte on the zipfile,
++ * for fseek */
++ uLong stream_initialised; /* flag set if stream structure is
++ * initialised */
++
++ uLong offset_local_extrafield; /* offset of the local extra
++ * field */
++ uInt size_local_extrafield; /* size of the local extra
++ * field */
++ uLong pos_local_extrafield; /* position in the local
++ * extra field in read */
++
++ uLong crc32; /* crc32 of all data uncompressed */
++ uLong crc32_wait; /* crc32 we must obtain after decompress all */
++ uLong rest_read_compressed; /* number of byte to be
++ * decompressed */
++ uLong rest_read_uncompressed; /* number of byte to be
++ * obtained after decomp */
++ FILE *file; /* io structore of the zipfile */
++ uLong compression_method; /* compression method (0==store) */
++ uLong byte_before_the_zipfile; /* byte before the zipfile,
++ * (>0 for sfx) */
++} file_in_zip_read_info_s;
++
++
++/*
++ * unz_s contain internal information about the zipfile
++ */
++typedef struct
++{
++ FILE *file; /* io structore of the zipfile */
++ unz_global_info gi; /* public global information */
++ uLong byte_before_the_zipfile; /* byte before the zipfile,
++ * (>0 for sfx) */
++ uLong num_file; /* number of the current file in the zipfile */
++ uLong pos_in_central_dir; /* pos of the current file in the
++ * central dir */
++ uLong current_file_ok; /* flag about the usability of the
++ * current file */
++ uLong central_pos;/* position of the beginning of the central
++ * dir */
++
++ uLong size_central_dir; /* size of the central directory */
++ uLong offset_central_dir; /* offset of start of central
++ * directory with respect to the
++ * starting disk number */
++
++ unz_file_info cur_file_info; /* public info about the current file
++ * in zip */
++ unz_file_info_internal cur_file_info_internal; /* private info about it */
++ file_in_zip_read_info_s *pfile_in_zip_read; /* structure about the
++ * current file if we are
++ * decompressing it */
++} unz_s;
++
++#endif
+--- snes9x-sdl-1.39/Makefile~compile
++++ snes9x-sdl-1.39/Makefile
+@@ -53,12 +53,12 @@
+
+ ifdef THREAD_SOUND
+ CPUDEFINES += -DUSE_THREADS
+-EXTRALIBS += -lpthread -L/usr/local/lib -lcygipc
++EXTRALIBS += -lpthread -lcygipc
+ endif
+
+ ifdef GLIDE
+ GLIDEOBJS = unix/glide.o
+-GLIDEDEFINES = -DUSE_GLIDE -I/usr/include/glide
++GLIDEDEFINES = -DUSE_GLIDE
+ GLIDELIBS = -lglide2x
+ GLIDEDEPENDS=use_glide
+ GLIDENO_DEPENDS=no_glide
+@@ -82,14 +82,12 @@
+ CC = gcc
+ NASM = nasm
+
+-INCLUDES=-I/usr/local/include
++INCLUDES=
+
+-OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer -mcpu=strongarm1100 -mtune=strongarm1100
++OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer
+ CCFLAGS = $(OPTIMISE) \
+--I/opt/Qtopia/include/SDL \
+ -I. \
+ -Iunzip \
+--Isdl \
+ -D__linux \
+ -DZLIB \
+ -DVAR_CYCLES \
+@@ -114,7 +112,7 @@
+
+ .SUFFIXES: .o .cpp .c .cc .h .m .i .S .asm .obj
+
+-LDLIBS = -L/opt/Qtopia/sharp/lib
++LDLIBS=
+
+ ifdef GLIDE
+ all: offsets gsnes9x
+@@ -146,7 +144,7 @@
+ $(RM) $(OPENGLNO_DEPENDS)
+
+ snes9x: $(OBJECTS)
+- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) -L/opt/QtPalmtop/lib/ -lSDL -lSDLmain $(LDLIBS) -lqpe -lqte -lpthread
++ $(CC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) $(LDLIBS) -lz -lpthread
+
+ gsnes9x: $(OBJECTS) unix/x11.o unix/glide.o
+ $(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/x11.o unix/glide.o $(LDLIBS) $(GLIDELIBS) -lXext -lX11 -lXxf86dga -lXxf86vm $(EXTRALIBS) -lz -lm
+--- snes9x-sdl-1.39/snapshot.cpp~compile
++++ snes9x-sdl-1.39/snapshot.cpp
+@@ -671,7 +671,7 @@
+ fields [i].type);
+ }
+
+- uint8 *block = new uint8 [len];
++ uint8 *block = (uint8*) malloc(len);
+ uint8 *ptr = block;
+ uint16 word;
+ uint32 dword;
+@@ -739,7 +739,7 @@
+ }
+
+ FreezeBlock (stream, name, block, len);
+- delete block;
++ free(block);
+ }
+
+ void FreezeBlock (STREAM stream, char *name, uint8 *block, int size)
+@@ -767,7 +767,7 @@
+ fields [i].type);
+ }
+
+- uint8 *block = new uint8 [len];
++ uint8 *block = (uint8*) malloc(len);
+ uint8 *ptr = block;
+ uint16 word;
+ uint32 dword;
+@@ -776,7 +776,7 @@
+
+ if ((result = UnfreezeBlock (stream, name, block, len)) != SUCCESS)
+ {
+- delete block;
++ free(block);
+ return (result);
+ }
+
+@@ -841,7 +841,7 @@
+ }
+ }
+
+- delete block;
++ free(block);
+ return (result);
+ }
+
+@@ -865,9 +865,9 @@
+
+ if (rem)
+ {
+- char *junk = new char [rem];
++ char *junk = (char*) malloc(rem);
+ READ_STREAM (junk, rem, stream);
+- delete junk;
++ free(junk);
+ }
+
+ return (SUCCESS);
Added: trunk/buildroot/package/snes9x/snes9x.mk
===================================================================
--- trunk/buildroot/package/snes9x/snes9x.mk (rev 0)
+++ trunk/buildroot/package/snes9x/snes9x.mk 2007-03-18 12:49:33 UTC (rev 579)
@@ -0,0 +1,83 @@
+#############################################################
+#
+# SNES9X SNES emulator
+#
+#############################################################
+SNES9X_VERSION:=1.39
+SNES9X_SOURCE:=snes9x-sdl-$(SNES9X_VERSION).tar.bz2
+SNES9X_SITE:=http://www.vanille.de/mirror/
+# roms: http://rtgamer.free.fr/index.php?pg=2&rub=sn
+SNES9X_CAT:=bzcat
+SNES9X_DIR:=$(BUILD_DIR)/snes9x-sdl-$(SNES9X_VERSION)
+
+#SNES9X_VERSION:=1.43
+#SNES9X_SOURCE:=snes9x-$(SNES9X_VERSION)-src.tar.gz
+#SNES9X_SITE:=http://vincent.grigorieff.free.fr/snes9x/
+#SNES9X_CAT:=$(ZCAT)
+#SNES9X_DIR:=$(BUILD_DIR)/snes9x-$(SNES9X_VERSION)-src
+
+$(DL_DIR)/$(SNES9X_SOURCE):
+ $(WGET) -P $(DL_DIR) $(SNES9X_SITE)/$(SNES9X_SOURCE)
+
+snes9x-source: $(DL_DIR)/$(SNES9X_SOURCE)
+
+$(SNES9X_DIR)/.unpacked: $(DL_DIR)/$(SNES9X_SOURCE)
+ $(SNES9X_CAT) $(DL_DIR)/$(SNES9X_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(SNES9X_DIR)/.patched: $(SNES9X_DIR)/.unpacked
+ toolchain/patch-kernel.sh $(SNES9X_DIR) package/snes9x/ snes9x-$(SNES9X_VERSION)\*.patch
+ touch $@
+
+$(SNES9X_DIR)/.configured: $(SNES9X_DIR)/.patched
+# For v1.49 only !!
+# (cd $(SNES9X_DIR)/snes9x; \
+# $(TARGET_CONFIGURE_OPTS) \
+# CFLAGS="$(TARGET_CFLAGS) " \
+# ./configure \
+# --target=$(GNU_TARGET_NAME) \
+# --host=$(GNU_TARGET_NAME) \
+# --build=$(GNU_HOST_NAME) \
+# --prefix=$(STAGING_DIR)/usr \
+# --with-sdl-prefix=$(STAGING_DIR)/usr \
+# --with-sdl-exec-prefix=$(STAGING_DIR)/usr \
+# --disable-sdltest \
+# --without-x \
+# --without-opengl \
+# --without-nasm \
+# --without-mmx );
+ touch $@
+
+$(SNES9X_DIR)/snes9x: $(SNES9X_DIR)/.configured
+# $(MAKE) -C $(SNES9X_DIR)/snes9x
+ $(MAKE) -C $(SNES9X_DIR) \
+ CC="$(STAGING_DIR)/bin/arm-linux-gcc" CCC="$(STAGING_DIR)/bin/arm-linux-c++ -fno-rtti -fno-exceptions" \
+ INCLUDES="-I$(STAGING_DIR)/usr/lib/include `$(STAGING_DIR)/usr/bin/sdl-config --cflags`" \
+ LDLIBS="`$(STAGING_DIR)/usr/bin/sdl-config --libs`"
+ touch $@
+
+# $(STAGING_DIR)/usr/lib/libSDL.so: $(SNES9X_DIR)/.compiled
+# $(MAKE) -C $(SNES9X_DIR) install
+# touch -c $(STAGING_DIR)/usr/lib/libSDL.so
+#
+# $(TARGET_DIR)/usr/lib/libSDL.so: $(STAGING_DIR)/usr/lib/libSDL.so
+# cp -dpf $(STAGING_DIR)/usr/lib/libSDL*.so* $(TARGET_DIR)/usr/lib/
+# -$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/libSDL.so
+
+SNES9X snes9x: sdl $(SNES9X_DIR)/snes9x
+
+snes9x-clean:
+# $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SNES9X_DIR) uninstall
+ -$(MAKE) -C $(SNES9X_DIR) clean
+
+snes9x-dirclean:
+ rm -rf $(SNES9X_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_SNES9X)),y)
+TARGETS+=snes9x
+endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|