Et voilà la nouvelle version de Mame attendu depuis quelques jours. Voici les news:

General Improvements

Emulation of Sega FD1094 encrypted 68k CPUs, this will allow for
significant progress in the emulation of the remaining encrypted Sega games.
Note that we require working CPUs to extract encryption data from in order
to emulate the encrypted titles, see for more details. As a result of this code several of the encrypted games will now boot (astorm, ddcrew, wb3a, wb3b, tetris, ddux, sonicbom etc.)
[Charles MacDonald – extracting data from CPUs,
Nicola Salmoria – decryption code]

Misc fixes from Mame32Plus
ay.diff: add save state support for AY8910 and friends
crbaloon.diff: add music support
darius.diff: adjust FM/ADPCM balance
f3.diff: fix landmakr sound loading
harddriv.diff: fix undersized array causing memory trashing
mario.diff: added save state support
qsound.diff: added save state support
renegade.diff: fixed missing break; in MCU simulation
s16.diff: adjust FM/ADPCM balance
scsp.diff: fixed undersized array causing stack trashing
ssv.diff: fixed hypreac2 sound loading
i960 and model 2 update [R.Belmont, ElSemi]
– Fixed bug in movl (ElSemi)

– Removed hotd and lastbrnx hacks, the i960 fix
obsoletes them
– Added port 0 switching, player 2 start works in
several games now (ElSemi)
– Added working timer support, including timer IRQs
– Updated game status listing

Fixed some c99 related compiler issues [Jeff Mitchell, Lawrence Gold]
update to ppmast93 driver, still not playable [David Haywood]
Discrete sound changes [Derrick Renaud]

Discrete Sound Changes

* Continued cleanup of code to make it more readable

New Discrete Modules Added

* DISCRETE_NOTE – counter circuit used to create tones/music.
* DISCRETE_INTEGRATE – various op amp integration (ramp) circuits.
* DISCRETE_OP_AMP_TRIG_VCA – Did not know what to call this. 🙂
Basically it is a programable voltage controlled amp. But uses only an on/off trigger.
It has resistors to select the rise/fall times. Also it is not a true VCA.
It actually adjusts amplitude by clipping more/less off the bottom of the
input signal. But it is a common circuit.

Game Driver Changes

* polaris – complete sound rewrite to use new component value code.
Hooked up watchdog timer.

New watchdog functionality [Derrick Renaud]

Game Driver Changes

* dominos, sprint1, sprint2, dragrace, canyon, nitedrvr – added
watchdog and set to proper time using new MDRV_WATCHDOG_VBLANK_INIT function.
* firetrk, montecar, superbug, pacman, polaris – changed watchdog to proper
time using new MDRV_WATCHDOG_VBLANK_INIT function.
* galpania, galpanib – changed to MDRV_WATCHDOG_VBLANK_INIT because these
games need watchdog init at game start.

Core Changes

Changed watchdog to allow it to start at machine run start. If not used, the
previous watchdog functionality is retained. Only define 1 of the 2 watchdogs
per game. If both are defined then MDRV_WATCHDOG_VBLANK_INIT will be used

* MDRV_WATCHDOG_VBLANK_INIT(watch_count)- Initializes the watchdog in
MACHINE_DRIVER_. watch_count is the # of vertical blanking intervals
before a forced reset. If the time is unkown then you can use these defaults:

* MDRV_WATCHDOG_TIME_INIT(time)- Initializes the watchdog in
MACHINE_DRIVER_. time is the time in seconds before a forced reset.

New function to enable/disable the watchdog in game.
watchdog_enable(0 or 1) – used to 0=disable or !0=enable.

Made a macro that calculates the pulse time of a 74LS122 or LS123.
r is in Ohms. c is in Farads.
c must be greater then 1000pF to use this function

Added runtime option to disable validity checks [Derrick Renaud]

Added run time option:
Forces MAME to skip doing the code validity checks. The default is
OFF (-noskip_validitychecks).
This new option will default to doing the test and force you to confirm you do not want to use it. This way users can test their submissions easily and then speed things up when confirmed ok.

NOTE: DO NOT disable the checks when submitting code

Fixed voodoo code broken by cleanup in u3 [Aaron Giles]
Fixed qdrmfgp broken by cleanup in u3 [Olivier Galibert]
Fixed cut and paste error in chdman [René Single]
Fixed mayday inputs [Stefan Jokisch]
Fixed Puzzle Club dips [Brian Troha]
Input Port System Update [Aaron Giles]
PORT_INCLUDE() works the same as before.

PORT_MODIFY(« tag ») allows you to modify any given input port by specifying its tag.

Any PORT_BIT() entries that you put after a PORT_MODIFY will nuke any
matching entries in the previous definition, allowing you to overwrite
them with new stuff.

I also added a few new functions:

readinputportbytag_safe() takes a tag and a default value. If the tag is not found, the default value is returned.

port_tag_to_handler32() — these 3 new functions take a tag string, find the
input port, and return the appropriate handler. They can be used in AM_READ,
so instead of:

AM_RANGE(0x00, 0x00) AM_READ(input_port_1_r)

You can use AM_RANGE(0x00, 0x00) AM_READ(port_tag_to_handler8(« MyPortName »))

I’ve modified exidy.c to use these features as a testbed. Let me know if you see any problems.

Memory system changes / fixes [Aaron Giles]
* added explicit casting to the memory handler width when computing
the shifted data/mask values for read/write handlers — this should in
theory fix R. Belmont’s 64-bit issues

* added memory_install_read/write8/16/32/64_matchmask_handler
functions to allow dynamic installation of match/mask (AM_SPACE-style) memory
ranges –this should satisfy Frank P’s request for the astrocade driver

* changed masking behavior for match/mask pairs so that an AM_SPACE
with an AM_MASK does not expand the explicitly-specified mask value — this
should fix dwidel’s problem getting Pac-Man accurate

* changed dynamic bank assignment to always assign a bank if you have
explicitly specified a mask value via AM_MASK — this should allow
mirroring via AM_MASK if you want to, though AM_MIRROR is still preferred

Fixed OKI banking in Fixeight bootleg [Quench]

More changes [Derrick Renaud]

Game Driver Changes

* firetrk, montecar – added proper CPU clock frequency change when
going in/out of service mode.

Core Changes

Fixed some last remaining issues with the new watchdog. The watchdog
would not remain disabled after a watchdog_enable(0) in some conditions.

Added a new function to change CPU clock speed in game. The current
scaling factor will still apply. eg. If you force the CPU to change clock to 1MHz
while the scaling is at 50%, the effective CPU speed will be 500kHz.
Then reading the clock speed will give 1MHz, because clock scaling is transparent to the driver.

/* Returns the current CPU’s actual unscaled running clock speed */
int cpunum_get_clock(int cpunum);

/* Sets the current CPU’s clock speed and then adjusts for scaling */
void cpunum_set_clock(int cpunum, int clock);

Fixed some problems in Steel Force [Pierpaolo Prazzoli]

New Games supported or promoted from GAME_NOT_WORKING status:

– F1 Grand Prix Star II [Brian Troha]
roms redumped

– Sonic Boom [Charles MacDonald, Nicola Salmoria]

– Mighty Warriors [Pierpaolo Prazzoli]
some sprite problems

– Twins [David Haywood]
missing eeprom

– Greyhound Selection [Pierpaolo Prazzoli]

– BMC Bowling [Tomasz Slanina]
missing music, some wrong gfx

– Field Combat [Tomasz Slanina]
bad sprite colours

– Gallop Racer 3 [smf]
sound problems

– Tank 8 [Stefan Jokisch]

New Clones supported or promoted from GAME_NOT_WORKING status:

– Tetris (Sega) (2 encrypted sets) [Charles MacDonald, Nicola Salmoria]

– Wonderboy 3 (2 encrypted sets) [Charles MacDonald, Nicola Salmoria]

– Greyhound trivia (alt questions) [Pierpaolo Prazzoli]

– Astro Blaster (version 2a) [Mash]

New Non-Working games / clones supported

– D.D. Crew [Charles MacDonald, Nicola Salmoria]
some issues with system18 emulation

– Dynamite Dux (original) [Charles MacDonald, Nicola Salmoria]
some issues with system16 emulation

– BC Story (set 2) [David Haywood]
more protection issues?

– Super GX [Mash]
bad rom

– Skelagon [Mash]
bad rom

– Virtua Formula
same issues as VR

Télécharger MAME(Arcade) [Debug] v0.161 (19,7 Mo)

Télécharger MAMEUI32 v0.178 (41,4 Mo)

Site Officiel

En savoir plus…