mameox
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:
More project information and help can be found on the MAMEoX website
http://mameox.sourceforge.net or the MAMEoX sourceforge project page
http://sourceforge.net/projects/mameox

---------------------------------------------------------------------------
Compilation requirements:

  Visual Studio .NET 2003
  ZLIB source (http://www.gzip.org/zlib/)

---------------------------------------------------------------------------
Installation:

1) Unzip ZLIB to the ZLIB directory. You only need the following files:
	adler32.c
	compress.c
	crc32.c
	deflate.c
	deflate.h
	gzio.c
	infblock.c
	infblock.h
	infcodes.c
	infcodes.h
	inffast.c
	inffast.h
	inffixed.h
	inflate.c
	inftrees.c
	inftrees.h
	infutil.c
	infutil.h
	maketree.c
	trees.c
	trees.h
	uncompr.c
	zconf.h
	zlib.h
	zutil.c
	zutil.h

	(Also the project files, and any license text files)

   ZLIB can be downloaded for free off the web, the homepage is currently
    http://www.gzip.org/zlib/


2) Open the MAMEoX.sln file and build the solution for Release mode 
   (or Debug mode if you're doing actual development). 
    
    This can be done via the following steps:
	a) Build menu -> Configuration Manager...
	   Change the "Active Solution Configuration" field to "Release"
	   Click "Close"
	b) Build menu -> Build solution

    Note: You may have to change the include/link paths, depending on where
          you placed MAME and the SDK files. This can be done via the "properties"
	  submenu of the MAMEoX (and possibly the MAME) project.

    Note: You may also have to patch the resulting XBE file if your 
    set does not execute debug files.


3) Create a directory for the program on your Xbox. The default directory 
   structure is:
   
  - 
    - Media
      > All of the resource files from the MAMEoX\Media directory in the source
        package, including help.txt and Resource.xpr (created during the build
	process)

    default.xbe : The Launcher executable file
    MAMEoX.xbe : The helper executable file


    - roms : This is where you should put all of your ROM files/directories.
             NOTE: There is currently a speed hack that _requires_ all ROMs
	           to be zipped! Unzipped files will not be read at all!
      - backup : Directory where "deleted" ROMs are stored
    - artwork: This is where you put bezels, overlays, etc...
    - samples : This is where you should put all of your audio sample zips
    - hdimages : This is where you should place your CHD hard disk image 
                 directories
    - general  : This is where cfg files, cheat file, and other general files 
                 are stored. When in doubt as to where to put a 3rd party file,
		 this is probably the place.


   NOTE: You shouldn't have to actually create any of the sub directories (except
   roms, roms/backup, and other directories with data you provide (hdimages, audio
   samples, etc...)) as of v0.5a. They will be automatically created when you
   first run MAMEoX.

   NOTE: Starting with version 0.64b, if you are playing MAMEoX off of a CD/DVD,
         most of these directories will be created on the U:, which is probably
	 mapped from E:\UDATA\4d414d45 (MAME in hex)


   !!!IMPORTANT!!!
     DO NOT RENAME OR MOVE EITHER OF THE XBE FILES! MAMEoX (as, I believe,
     any XBOX executable) is _very_ picky about where its files are and
     what they are named. Renaming or moving either file will cause MAMEoX
     to fail!



---------------------------------------------------------------------------
Compilation Errors:


NOTE: If you use the SourceForge distribution you shouldn't get any compiler
	errors. If you do, please submit them as a bug.

Compilation errors that I've dealt with in the past:
  a) png_get_info is defined multiple times: You can safely #ifdef this
     function out of the MAME source, it is not called.
  b) Internal compiler errors
    i) You may see errors on switch( offset<<1 ) statements. To fix this,
       you'll have to rewrite the switch statement as "switch( offset )"
       and divide all of the case values by two. Hopefully this will be
       fixed in future versions of MAME, as switching on offset<<1 has
       no practical value.
    ii) I've seen at least one error in the x86 cpu code where the compiler
       choked trying to build up a value via bitwise or's (|) and pass it
       immediately to a function/macro. To fix this, I delcared a temporary
       variable, assigned to the value that had to be passed to the function,
       then passed the temp var to the function. Unlike (4.b.i), there's no 
       reason not to build up a variable while passing it to a function, and
       it's such a common operation that it's somewhat surprising to see an
       error here. Therefore the kludge has not been reported, and may or may
       not have to be reimplemented in the future, depending on where and
       when the compiler feels like barfing.
    iii) Other internal errors: Try reordering header files :) If this does
       not fix your problem, feel free to post a bug, and it will be looked
       into.

  c) Normal compiler errors:
    i) I've encountered some compiler errors where driver writers have not
       produced fully ANSI compliant code. For the most part, these are simple
       cases where a variable is declared after the first non-declaration 
       statement. They may be fixed (with some care) by moving the declaration
       to the top of the function.

       ex: 
		int blah;
		blah = 1;
		int foo;	<= Compiler error
	
		int foo;	<= Move it before the first non-declaration
		int blah;
		blah = 1;
    ii) Symbol redefinitions in multi32.c: Several global variables are
        defined in both multi32.c and system32.c (drivers). They can be
	fixed (probably, I've not tested any ROMs that use these files)
	by making the declarations in multi32.c "extern"

	extern data16_t *system32_mixerregs_monitor_a;		// mixer registers
	extern data16_t *sys32_tilebank_external;
	extern data16_t* sys32_displayenable;
	extern int system32_temp_kludge;
	extern data16_t *sys32_spriteram16;
	extern data16_t *sys32_txtilemap_ram;
	extern data16_t *sys32_ramtile_ram;
	extern data16_t *scrambled_paletteram16;
	extern int system32_palMask;
	extern int system32_mixerShift;
	extern int system32_use_default_eeprom;

  d) Crashes:
    i) There's a known (and reported) 0.67 crash bug in tilemap.c in the
       tilemap_dispose function. This bug will cause the system to crash
       if it runs out of memory when creating the graphical tilemaps. To fix
       it, replace the while loop and the following line with:

	while( prev && prev->next != tilemap ) prev = prev->next;
	if( prev ) prev->next = tilemap->next;
	
	This ensures that the system will not mind if a tilemap is freed that
	has not been added to the linked list.

  e) Missing files:
    i) If your XDK is installed to a directory other than default (and
       sometimes even if it's in the default) you may see build errors
       about missing files: xbutil.cpp, xbfont.cpp, xbresource.cpp
       If this happens, delete these files from the MAMEoX and MAMEoXLauncher
       projects, then re-add them from the correct directory
 


---------------------------------------------------------------------------
Usage Help:

  Read the help screen from within the MAMEoX launcher (press START to
  bring up the menu from which you can read the screen)


---------------------------------------------------------------------------
Contributions:

  - Any reports of bugs, crashes, etc... that you can file would be great.
    Just be sure never to send any copyrighted materials (ROMs, compiled 
    XBE images).  The more detailed the report, the better. Bugs will most
    likely be handled in the order of legibility, reproducibility, and general
    "niceness" of the report. That is to say, if you report "ROM x doesn't
    wurk u fag, u suk", the report will likely be sent to the circular file.
    However, if you don't have the technical background to give a really 
    detailed report, just saying "ROM x crashed my machine when booting" or
    "ROM x crashed my machine on level 3" w/out any flames is enough. If you
    can, please try to reproduce the problem and be sure to mention whether
    or not you can consistently reproduce it.


---------------------------------------------------------------------------

  If this guide is not complete please report your problems. The intent 
  of this project is to make it easier for anybody w/ the right tools and 
  a little bit of coding experience to compile and run this port of MAME.

---------------------------------------------------------------------------

  Special thanks to Klaus of www.wolfsoft.de for donating 128 meg upgrade
  chips to allow me to profile and test larger ROMs!

---------------------------------------------------------------------------
Licensing:
  The contents of the MAME directory (other than the MAME.vcproj, MAME.plg,
  and MAME.dsp files) and the c_m68000 directory are protected under the 
  MAME licensing agreement. A copy of this agreement may be found in the 
  MAME/Docs directory, as "mame.txt". This license may also be found 
  online at www.mame.net/readme.html

  All other files distributed with this project are protected by the GNU Public
  License, unless otherwise noted within the file.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。