Examples of MAME Tiny Compiles

Subject easy example of mappy  
Posted by arukas
Posted on 05/30/02 09:19 PM



1. execute "-listdetails" option in pre-compiled full binary.
If tiny target is mappy, type

mame.exe mappy -listdetails > temp.txt

and get details of mappy driver in temp.txt.

romname = mappy
driver = mappy.c
cpu1 = M6809
cpu2 = M6809
sound1 = Namco

2. edit src/tiny.mak like this (ignore yellow messages),

# a tiny compile is without Neogeo games
COREDEFS += -DTINY_COMPILE=1
COREDEFS += -DTINY_NAME="driver_mappy" (romname of the target)
COREDEFS += -DTINY_POINTER="&driver_mappy"

# uses these CPUs
CPUS+=CPU_M6809@ (from -listdetails option's info)

# uses these SOUNDs
SOUNDS+=SOUND_NAMCO@

OBJS = $(OBJ)/drivers/mappy.o $(OBJ)/machine/mappy.o $(OBJ)/vidhrdw/mappy.o (search "mappy.c" in source tree)

# MAME specific core objs
COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o

3. edit makefile

TARGET = tiny

and make. That's all.

 



Subject tiny.mak of aztarac  
Posted by arukas
Posted on 05/31/02 11:46 PM



# a tiny compile is without Neogeo games
COREDEFS += -DTINY_COMPILE=1
COREDEFS += -DTINY_NAME="driver_aztarac"
COREDEFS += -DTINY_POINTER="&driver_aztarac"

# uses these CPUs
CPUS+=M68000@
CPUS+=Z80@

# uses these SOUNDs
SOUNDS+=AY8910@

OBJS = $(OBJ)/drivers/aztarac.o $(OBJ)/vidhrdw/aztarac.o $(OBJ)/sndhrdw/aztarac.o

# MAME specific core objs
COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o



hmm... aztarac uses M68000. It seems to have to compile with C-core of M68000.

 



Subject Re: you'd want to do a tiny compile  
Posted by insideoutboy
Posted on 06/19/01 02:58 AM



> A tiny compile will only do one game. However, that's all I know, sorry.
>
> If you look at the makefile, it may be self-explanatory.

Actually they changed it a few betas ago and you can now compile multiple drivers. Basically you update "src\tiny.mak" with the drivers, CPUs and object files and do a "make TARGET=tiny". The available CPUs and object files are listed in "src\mame.mak".

It's hard to guess in advance what CPUs and object files are needed so normally I just put in the driver source file, comment out all CPUs and do a make and see what's undefined.

dkong is one of those that's quite messy because of clones on scramble hardware. The following is what's needed in "src\tiny.mak" to do a tiny compile for dkong:

# a tiny compile is without Neogeo games
COREDEFS += -DTINY_COMPILE=1
COREDEFS += -DTINY_NAME="driver_dkong"
COREDEFS += -DTINY_POINTER="&driver_dkong"

# uses these CPUs
CPUS+=N2A03@
CPUS+=I8035@
CPUS+=Z80@
CPUS+=S2650@

# uses these SOUNDs
SOUNDS+=NES@
SOUNDS+=DAC@
SOUNDS+=SAMPLES@
SOUNDS+=AY8910@
SOUNDS+=TMS5110@
SOUNDS+=CUSTOM@

OBJS = $(OBJ)/drivers/dkong.o $(OBJ)/sndhrdw/dkong.o $(OBJ)/vidhrdw/dkong.o \
       $(OBJ)/drivers/scramble.o $(OBJ)/machine/scramble.o $(OBJ)/sndhrdw/scramble.o \
       $(OBJ)/vidhrdw/galaxian.o $(OBJ)/drivers/scobra.o $(OBJ)/drivers/amidar.o \
       $(OBJ)/drivers/frogger.o $(OBJ)/sndhrdw/frogger.o $(OBJ)/vidhrdw/frogger.o \
       $(OBJ)/vidhrdw/amidar.o $(OBJ)/drivers/cvs.o $(OBJ)/vidhrdw/cvs.o \
       $(OBJ)/vidhrdw/s2636.o $(OBJ)/drivers/cclimber.o $(OBJ)/sndhrdw/cclimber.o \
       $(OBJ)/vidhrdw/cclimber.o

# MAME specific core objs
COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o


iob

 



Subject Re: Question about "Tiny Compile"...  
Posted by redk9258
Posted on 09/18/02 06:45 AM



Here's the tiny.mak file for pacman and ms. pacman:
===========================================================
# a tiny compile is without Neogeo games
COREDEFS += -DTINY_COMPILE=1
COREDEFS += -DTINY_NAME="driver_pacman,driver_mspacman"
COREDEFS += -DTINY_POINTER="&driver_pacman,&driver_mspacman"

# uses these CPUs
CPUS+=8085A@
CPUS+=I8035@
CPUS+=N2A03@
CPUS+=S2650@
CPUS+=Z80@


# uses these SOUNDs
SOUNDS+=AY8910@
SOUNDS+=CUSTOM@
SOUNDS+=DAC@
SOUNDS+=NAMCO@
SOUNDS+=NES@
SOUNDS+=SAMPLES@
SOUNDS+=SN76496@
SOUNDS+=TMS36XX@
SOUNDS+=TMS5110@


OBJS = \
$(OBJ)/drivers/amidar.o \
$(OBJ)/drivers/cclimber.o \
$(OBJ)/drivers/cvs.o \
$(OBJ)/drivers/epos.o \
$(OBJ)/drivers/frogger.o \
$(OBJ)/drivers/galaxian.o \
$(OBJ)/drivers/jrpacman.o \
$(OBJ)/drivers/pacman.o \
$(OBJ)/drivers/phoenix.o \
$(OBJ)/drivers/scobra.o \
$(OBJ)/drivers/scramble.o \
$(OBJ)/machine/jumpshot.o \
$(OBJ)/machine/mspacman.o \
$(OBJ)/machine/pacplus.o \
$(OBJ)/machine/scramble.o \
$(OBJ)/machine/shootbul.o \
$(OBJ)/machine/theglobp.o \
$(OBJ)/sndhrdw/cclimber.o \
$(OBJ)/sndhrdw/galaxian.o \
$(OBJ)/sndhrdw/phoenix.o \
$(OBJ)/sndhrdw/pleiads.o \
$(OBJ)/sndhrdw/scramble.o \
$(OBJ)/vidhrdw/cclimber.o \
$(OBJ)/vidhrdw/cvs.o \
$(OBJ)/vidhrdw/epos.o \
$(OBJ)/vidhrdw/galaxian.o \
$(OBJ)/vidhrdw/jrpacman.o \
$(OBJ)/vidhrdw/pengo.o \
$(OBJ)/vidhrdw/phoenix.o \
$(OBJ)/vidhrdw/s2636.o \
$(OBJ)/machine/bagman.o \
$(OBJ)/vidhrdw/bagman.o \
$(OBJ)/drivers/bagman.o

# MAME specific core objs
COREOBJS += $(OBJ)/driver.o $(OBJ)/cheat.o

# generated text files
TEXTS += gamelist.txt

gamelist.txt: $(EMULATOR)
@echo Generating $@...
@$(CURPATH)$(EMULATOR) -gamelist -sortname > docs/gamelist.txt

=========================================================
You can either edit makefile to get a tiny compile or use this command:
make TARGET=tiny

This may have extra stuff (it originally compiled 41 games), but works for .61. This may not work with an older version without errors.

Good Luck

 



Last updated on September 19, 2002