Compiling PinMAME DOS:

What is needed?
---------------

Follow instructions for compiling the DOS version of MAME. It will tell you
exactly what is needed in terms of libraries and a compiler..
(inctructions can be found at www.mame.net)

Two ways to Compile PinMAME
---------------------------

You have two choices for compiling..

Option #1) Download MAME037b8 source code and unzip PinMAME DOS source code over it..

Option #2) Download the "FULL" source code for PinMAME DOS, and compile it..


Using different version of MAME Source Code
-------------------------------------------
PinMAME has updated some MAME files that must be patched to
allow it to work correctly.

In the pinmame.mak there are three symbols controlling the
patches made for PinMAME.

MAME_VER=3708

PinMAME is prepared to work with later MAME versions than 37b8.
Set this symbol to the source version. Use 3799 for the final 37
version. At this writing PinMAME has only been verified to compile
with the MAME 37 Beta 10 (3710) version.

PINMAME_EXT=1

Optional changes to the MAME source files are within "ifdef PINMAME_EXT".
PinMAME will work without these patches but with some functions disabled
- Wave recording
- DMD color command line parameters
- Allow double sized roms
- F12 toggles snapshots on/off

WPCDCSSPEEDUP=1

To speedup DCS sound, patches are required to the ADSP core.


Summary of changes:

makefile
--------
change
  TARGET = mame
into
  TARGET = pinmame

src/cpu/adsp2100/adsp2100.c
---------------------------
The adsp2100 core is optimised for the williams video games and does
 not work properly for the pinball games.

Mandatory changes:
  Add lines within "#ifdef PINMAME" (three places)

Optional changes:
  DCS Speedups.
  Add lines within "#ifdef WPCDCSSPEEDUP". (one place)

src/usrintrf.c
--------------
Optional changes:
  F12 toggles snapshots.
  Lines within "#ifdef PINMAME_EXT". (one place)

src/osdepend.h
--------------
Optional changes:
  Wave recording.
  Lines within "#ifdef PINMAME_EXT". (one place)

src/mame.h
--------------
Optional changes:
  DMD colour command line parameters.
  Lines within "#ifdef PINMAME_EXT". (one place)

src/common.c
--------------
Optional changes:
  Allow double sized ROM
  Lines within "#ifdef PINMAME_EXT". (two places)

src/msdos/fileio.c
-------------------
Optional changes:
  Allow wave recoring
  Lines within "#ifdef PINMAME_EXT". (three places)

src/msdos/config.c
-------------------
Optional changes:
  DMD colour command line parameters
  Lines within "#ifdef PINMAME_EXT". (three places)

src/msdos/video.c
-------------------
Optional changes:
  Display status of Wave recording
  Lines within "#ifdef PINMAME_EXT". (two places)

src/sound/hc55516.h
-------------------
Mandatory changes:
  Lines within "#ifdef PINMAME". (one place)

src/sound/hc55516.c
-------------------
Mandatory changes:
  Lines within "#ifdef PINMAME". (one place)


PINMAME specific files
----------------------
core.c		Core Input & Output Emulation Functionality
wpc.c		Williams/Bally WPC Emulation
de.c		Data East Alpha Numeric Emulation
s11.c		Williams/Bally System 9 & 11 Emulation
s7.c		Williams System 7 Emulation
s6.c		Williams System 6 Emulation
s4.c		Williams System 3 & 4 Emulation
by35.c		Bally MPU-35 Emulation
dcs.c        	Williams/Bally WPC DCS Sound Emulation.
wpcsound.c   	Williams/Bally WPC pre-DCS Sound Emulation.
s11csoun.c	Williams/Bally System 11C Sound Emulation.
de2sound.c	Data East Alpha Numeric Sound Emulation.
sim.c     	Ball Simulator Engine.
wpcsam.c     	Sound Sample Support
snd_cmd.c	Sound Commander & Wave Recording Functionality
driver.c    	Driver Definition File.
wpcgames.c      Williams/Bally WPC Drivers for all non-simulated games
s11games.c     	Williams/Bally System 9 & 11 Drivers for all non-simulated games
s7games.c      	Williams System 7 Drivers for all non-simulated games
s6games.c      	Williams System 6 Drivers for all non-simulated games
s4games.c      	Williams System 4 Drivers for all non-simulated games
s3games.c      	Williams System 3 Drivers for all non-simulated games
degames.c      	Data East Alpha Numeric Drivers for all non-simulated games
by35games.c    	Bally MPU-35 Drivers for all non-simulated games
sims\wpc\full\*.c	Williams/Bally WPC Drivers & Simulators for all Simulated Games
sims\wpc\prelim\*.c	Williams/Bally WPC Drivers & Preliminary Simulators for remaining games
sims\s11\full\*.c	Williams/Bally System 11 Drivers & Simulators for all Simulated Games
sims\s11\prelim\*.c	Williams/Bally System 11 Drivers & Preliminary Simulators for remaining games
