Grab the source
here.
0.141u4 whatsnew :
-------
MAMETesters Bugs Fixed
----------------------
- 01555: [Graphics] vanvan, vanvanb, vanvank: Graphics are corrupted.
(hap)
- 02841: [Graphics] pacnpal, pacnpal2, pacnchmp: Monster's eyes are not
displayed. (hap)
- 02175: [Graphics] drgnbstr: Priority problems (hap)
- 03870: [Graphics] battlex: Wrong title highlighting (hap)
- 03206: [Color/Palette] sshangha: Tile colors are wrong when you select
them (David Haywood)
- 01665: [Graphics] zigzag, zigzag2: Animation of hose does not show
properly when attempting to pump enemies. (hap)
- 03821: [Crash/Freeze] contra, contraj, gryzor: Game freeze after the
2nd 3d stage's boss, before the level with horizontal scroll.
(hap)
- 02509: [Graphics] bagmans: Glitches missing during scene change. (hap)
- 03454: [Documentation] xeviousa, xeviousb, xeviousc: Xevious set
information
- 03225: [Misc.] razmataz: Unable to enter Service Mode (hap)
- 03745: [Color/Palette] anteaterg, anteateruk: Underground background
color is incorrect (hap)
- 04271: [Misc.] Wrong merge data in -listxml output for some sets
(Aaron Giles)
- 03670: [Save/Restore] Many sets in toaplan2.c: Graphic corruption when
using -autosave/save state (Alex Jackson)
- 02807: [Documentation] dogyuunk: Description is wrong (Alex Jackson)
- 03764: [Sound] kuniokun, kuniokunb: PCM sound base line gets shifted
little by little.
- 03172: [Sound] amspdwy, amspdwya: Audio quality regression (hap)
- 04093: [Sound] spiders and clones: High tone never stop playing (hap)
- 04029: [Graphics] All sets in murogem.c: Severe graphic corruption
(hap)
- 04270: [Graphics] commsega, locomotn and clones: Vertical screen
offsets (hap)
- 04269: [Graphics] All sets in bagman.c: Vertical screen offsets (hap)
- 04002: [Graphics] bagman, sbagman, botanic, pickin: Screen is shifted 1
pixel left (hap)
- 04264: [Crash/Freeze] gtfrk3ma, gtrfrk3m, gtrfrk4m, pcnfrk3m: Crash
just before NVRAM format (Olivier Galibert)
- 04267: [Interface] -verifyroms list nonexistent roms as bad
(Aaron Giles)
- 04263: [Crash/Freeze] pf2012: Crash after OK (hap)
Source Changes
--------------
Decreased color saturation and alpha of internal fake shifter layout
to make it less distracting. [hap]
Fix OS/2 compile [K.O. Myung-Hun]
Various Aristocrat Mk4 / Mk5 fixes [Palindrome]
Documented Aristocrat Mk4 init procedure [Heihachi_73]
Implemented proper vblank read-back on Aristocrat Mk-4 HW
[Angelo Salese]
naomi: Reorganized the driver to put games in order by type and put
similar functionality together [f205v]
New driver for Winners Circle (Corona), dual CPU hardware.
[Roberto Fresca]
Exposed the M68000 supervisor flag for external MMUs to determine the
current address space. [Curt Coder]
Removed unnecessary machine parameter from device-specific
input_port_read. [Curt Coder]
Exposed the complete Function Code of the M68000 (instead of just FC2
as previously). [Curt Coder]
Corona.c: Fixed the visible screen area to improve the Winners Circle
aspect. Also fixed visible screen area and rotate properly the RE-800
sets. Minor clean-ups. [Roberto Fresca]
Converted core_options to a class. Removed a bunch of marginal
functionality in favor of alternate mechanisms. Errors are now
reported via an astring rather than via callbacks. Every option must
now specify a type (command, integer, float, string, boolean, etc).
Command behavior has changed so that only one command is permitted.
[Aaron Giles]
Changed fileio system to accept just a raw searchpath instead of an
options/option name combination. [Aaron Giles]
Created emu_options class dervied from core_options which wraps core
emulator options. Added mechanisms to cleanly change the system name
and add/remove system-specific options, versus the old way using
callbacks. Also added read accessors for all the options, to ensure
consistency in how parameters are handled. Changed most core systems
to access emu_options instead of core_options. Also changed
machine->options() to return emu_options. [Aaron Giles]
Created cli_options class derived from emu_options which adds the
command-line specific options. Updated clifront code to leverage the
new class and the new core behaviors. cli_execute() now accepts a
cli_options object when called. [Aaron Giles]
Updated both SDL and Windows to have their own options classes,
derived from cli_options, which add the OSD-specific options on top of
everything else. Added accessors for all the options so that queries
are strongly typed and simplified. [Aaron Giles]
Updated nmk/olympia/pacific/pce/phoenix/rare/seibu/seta to
driver_devices. [Atari Ace]
Updated sigma/stern/subsino/tatsumi/tch/tecfri/technos/tehkan to
driver_devices. [Atari Ace]
roul (roul.c) [stephh] :
* Fixed Dip Switches and Inputs (after verification of the Z80 code)
ksys573: Fix some wrong machine driver selections [O. Galibert]
Allow serial receive without ES enabled. [Couriersud]
sgnascar: Added dump of mask ROMs [Guru, R. Belmont]
Added correct bitswap for point blank 3 [smf].
inptport: Add existence and used bits interface for automatic
controller adaptation [O. Galibert]
Converted psx cpu core to c++ [smf]
Corona.c driver improvements. A lot of input/output work, accurate
periodic interrupt timing for sound CPU, meters, DIP switches, and
other minor things. We got Winners Circle 82 playable. [Roberto
Fresca]
More improvements to corona.c driver. Splitted new machine, memory
map, and complete multiplexed inputs/outputs for Lucky Roulette type
games. Also added NVRAM and inverted blitter [Roberto Fresca]
Implemented MC6845 row/column addressing mode. [Curt Coder]
Make shift/alt+right work on channel volume sliders (fractions between
0 and 1 were always rounded down) [hap]
splash.c driver improvements. [Tomasz Slanina]
* The Return of Lady Frog : added sound
* Funny Strip : added sound, patched few more protection checks, fixed
sprite ram access
Added inputs to Tetris Fighters - game now boots. [Tomasz Slanina]
Lot of improvements/changes to corona.c driver. Input/output work and
new set supported. Redumped the winner82 sound program. [Roberto Fresca]
SDL: Fix uimodekey for MESS [Barry Rodewald, R. Belmont]
More work on corona.c driver. [Roberto Fresca]
- Cleaned up and improved memory maps
- Added NVRAM to all winners circle sets
- Fixed the ay8910 clock for winners circle 82 type to match the other
hardware.
- Fixed a blitter buffer to bitmap problem.
- Reparented the sets.
- Added new technical notes.
carjmbre: [hap]
* use 4 bit clut instead of 3 bit
* calculate palette with resnet info from Popper (same year, same
company, very similar hardware)
* make bgcolor emulation more logical
* small cleanups
Use correct roms for the Japanese 1941 set [Brian Troha]
Fixed sound regression with Mission 660 [Angelo Salese]
Major toaplan2.c updates [Alex Jackson]
* Some sets reparented and renamed as well as a cleanup of source
comments: grindstm (parent), vfive (clone) kingdmgp (parent),
shippumd (clone) The set formerly known as "sstrikera" is now
"sstriker" and is now the parent of mahoudai (clone). Reverted
batrid to batrider and bkraid to bbakraid.
* Put common init code into MACHINE_START, leaving DRIVER_INITs only
for games that actually need unique initialization.
* Dead code cleanup: Removed old hacks and some no-longer-used used
member variables from the driver class.
* ROM banking cleanup: Added a device address map for the OKI in
fixeightbl. Stopped misusing the bank system for memory that isn't
actually bankswitched (fixeightbl again) Simplified the Z80 ROM
banking (and loading) in the Raizing games.
* Address map cleanup: Unified 8-bit shared RAM handling between the
Z80-based and the V25-based games. Replaced lots of pointless
READ_HANDLERs with AM_RAM_WRITE. Moved fixeight EEPROM handling
into the input ports instead of using READ/WRITE_HANDLERs.
Incidentally, this makes toaplan2.c the very first MAME driver to
use the AM_READWRITE_PORT macro.
* Removed IPT_VBLANK input ports (no longer used since the video
rewrite)
* Removed Truxton 2 player 2 "button 4" (after confirming that the
game never reads it) and changed player 1 "button 4" to an
IPT_OTHER not bound to any key by default, since it's clearly some
kind of test/debug input not meant to be hooked up in a regular
cabinet (for one thing, it works whether you're actually playing
or in attract mode)
* Added button 3 to Batsugun Special Version. It's a full auto fire
button like Cave games have. The service mode input test doesn't
show it, presumably because Toaplan didn't bother to update the
service mode code from the original version of the game.
* Fixed region jumpers and dipswitches in many sets, based on
analysis of the program code and strings in the ROMs.
* Added a #define to optionally make Truxton 2 stereo (commented out
by default). See the comments at the top of the driver and in the
MACHINE_CONFIG.
* Corrected kbash ROM names, thanks to information from Charles
MacDonald. Also fixed inconsistent ROM naming between some of the
batrider clones.
* Loaded bbakraid default EEPROM as a ROM rather than hardcoding the
contents into the driver.
* Completely removed audio/toaplan2.c, which isn't needed any more now
that all the V25s are decrypted and hooked up.
Technical changes to reel games. [James Wallace]
* Fixed lamp timing in MPU4 and laid groundwork for MPU3 support in
the steppers (I've also cleared up the reel code in drivers).
* Removed some unneeded timing code.
* BwB support is here, but preliminary, it's mainly to show people
how the CHR chip might work in those games.
Fixed enormous memory consumption when iterating through all drivers
like -romident does. [Aaron Giles]
Converted namco/thepit/toaplan/unico/upl/valadon/veltmjr/venture/
vsystem/zaccaria to driver_device. Also simplified unico and
disentangled gridlee from balsente. [Atari Ace]
Breaks some driver entanglements to simplify future driver_device
conversion efforts: [Atari Ace]
* taito_f3 is disentangled from a number of other drivers by using an
AM_SHARE tag instead of a common variable.
* Several drivers are made into explicit subclasses of other drivers:
8080bw from mw8080bw, missb2 from bublbobl, quasar from cvs,
taito_x from seta.
* arcadecl is separated from rampart by duplicating the bitmap
rendering code.
* jaleco decryption code is moved to jalcrpt.c.
* cischeat is separated from megasys1 by duplicating some video code.
* mcr3 is partly separated from mcr.
* machine/midwunit.c is split into wunit and xunit files with some
code duplication.
* midtunit gfx_rom variables are made distinct from midyunit
variables, making midyunit independent of midtunit.
* contants in namconb1 are duplicated/renamed in namcofl.
* namcos2 uses of namcos21 are eliminated by introducing
namcos2_kickstart.
* toypop is separated from mappy by duplicating some video code.
Move non-buffered spriteram drivers away from using the generic
spriteram in favor of using spriteram in their own driver_device
classes. [Atari Ace]
Fix long-standing bug in ABS flags in ADSP21xx core.
[Christophe Jaillet]
Removed some legacy NVRAM_HANDLERs in favor of NVRAM devices.
[Aaron Giles]
Added M48T37 variant to timekpr.c. Fixed some bugs that caused
registers to be initialized to 0xff and caused odd behavior. Updated
to modern device timers. [Aaron Giles]
Converted vegas to use M48T37 instead of its own implementation.
[Aaron Giles]
Attached emu_options to the machine_config, and the running_machine
inherits it now. [Aaron Giles]
Mapped KEYCODE_BACKSLASH2 to the OEM_102 key (located between LShift
and Z on international keyboard layouts). [Curt Coder]
Fix micro3d 8051 serial RX, todo: still needs CLEAR behind a 1 cycle
callback [Lord Nightmare]
Fixed parsing of uimodekey from .ini on SDL [Fabio Priuli]
Improved inputs and complete DIP switches to Lucky Roulette Plus.
Also, added new support for Ruleta RCI. [Roberto Fresca]
model3: add protection data for oceanhun (game still doesn't boot)
[Ville Linde]
galdrvr.c: Added background color split to Anteater. [hap]
Convert a number of drivers to use their own private spriteram instead
of the generic one. Only drivers needing buffered spriteram should use
the shared generic version for now. [Atari Ace]
Continued eliminating global/static variables by moving them to the
driver_device classes. Mostly drivers from misc.a, and some drivers
recently which had dependencies removed. [Atari Ace]
Fixed Z80-DART transmit word length. [Curt Coder]
Decouple memory_region parameters from the ROMREGION flags. [Aaron Giles]
path_iterator::next() now takes an optional filename to append to the
path. [Aaron Giles]
Fix pleiades colours (high/low palette bits exchanged). [Couriersud]
Added DEVICE_SELF_OWNER support for device callbacks. [Curt Coder]
Moved anteateruk/anteaterg to galdrvr.c [hap]
Added possibility of altering default input port setting for devices.
[Miodrag Milanovic]
Galaxian driver: Fixed sprite X offset. [hap]
Continued moving global/static variables to the driver_device classes.
[Atari Ace]
Remove unused static handler entries. Also ensure that subsequent
mapping/ unmapping of static memory types does not change the memory
parameters. This fixes the case where dynamically unmapping memory
could lead to incorrectly reported offsets. [Aaron Giles]
Remove some straggling const address_space references, and get rid of
explicit const_casts in memory.h. [Aaron Giles]
Dedicated galxwars cabs are not b/w but have color maps For now, use
proms from another game and mark sets as bad dump/wrong colors [hap]
contra.c: Changed main CPU to HD6309 as seen on PCB, and set interrupt
source to k007121. [hap]
Add driver_device classes for drivers that don't have any variables,
for consistency (and future development). [Atari Ace]
Further decoupled some driver files to help driver_device conversions.
[Atari Ace]
1. cclimber and galaxian audio code and seibuspi decryption code get
their own includes.
2. galpani2 video declarations are moved from kaneko16.h to their
own file.
3. cchance and champbwl subclass from tnzs, xevious/bosco/digdug
subclass from galaga and vmetal subclasses from metro.
4. yvg608 is made independent of namcond1
5. ettrivia duplicates the palette code from naughtyb
6. mshuttle decryption code is moved into galaxian.
7. tetrisp2_draw_sprites is split into two versions, one for ms32.c, one
for tetrisp2.c.
Converted asteroid/bzone/funworld/itech8/kongambl/legionna/leland/quakeat/
quizpun2/segas24/twincobr/warpwarp to driver_device. [Atari Ace]
Moved Kaneko Super Nova sprite chip emulation inside its own file
[David Haywood]
Put Deco 56 video sprite chip inside its own file [David Haywood]
Deco 56: Allow rendering to a bitmap, with priority data intact, for
manual mixing [David Haywood]
battlex.c: Some driver cleanups, most importantly: [hap]
* made interrupt generation more logical (assert/clear instead of
hold)
* removed hacky hardcoded palette for background tiles, let it use
palette ram
Changed clocks based on confirmed XTAL and dumper's notes for Ambush
and clones. Audio changed to AY8912 as well.
[Tafoid / Tomasz Slanina]
Fixed decrementing transfers in z80dma core [Angelo Salese]
Converted Tattoo Assassins (and Night Slashers) to use deco16ic.c,
fixing some corrupt graphics in Tattoo Assassins (which have been
there since it was first added) [David Haywood]
Removed globals from a number of device-like shared systems and made them
either statics or actual device variables. [Atari Ace]
Convert cclimber/galpani2/gticlub/namcond1/pacman/seibuspi/tetrisp2/
vicdual to driver_device. [Atari Ace]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Ruleta RE-800 (earlier) [Roberto Fresca]
Ruleta RE-800 (v1.0) [Roberto Fresca]
Ruleta RE-800 (v3.0) [Roberto Fresca, Grull Osgo]
Galactica (Marcello Mancini, Silvio Finotti, Augusto Garcia, hap]
Lucky Roulette (6-players, Spanish) [Roberto Fresca, Rob Ragon]
Super Twenty One [Siftware, gregf, hap]
Ruleta RCI (6-players, Spanish) [Roberto Fresca, Rob Ragon]
Winners Circle 82 [Roberto Fresca, Angelo Salese, Rob Ragon]
Winners Circle (81, 28*28 PCB) [Roberto Fresca, Rob Ragon]
Winners Circle (81, 18*22 PCB) [Roberto Fresca, Rob Ragon]
New clones added
----------------
Big Twin (No Girls Conversion) [Andrew Welburn, Pierpaolo Prazzoli]
Super Star Crest
[Marcello Mancini, Silvio Finotti, Augusto Garcia, hap]
1941: Counter Attack (USA 900227) [Kevin Eshbach, Team CPS-1]
Simpsons Pinball Party (4.00,2.04) (En,Sp,Fr,It,Ger)
[Miodrag Milanovic]
Grand Prix (4.00,3.40,3.01) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
Nascar (4.00,3.50,3.40, 3.01) (En,Sp) [destruk, Miodrag Milanovic]
Sopranos (3.00, 2.04, 1.07) (En,Sp,Fr,It,Ger) [Miodrag Milanovic]
High Roller Casino (2.10) [destruk]
Playboy (4.01,2.03) (En,Sp,Fr,It,Ger) [destruk]
Roller Coaster Tycoon (6.00) (En,Sp,Fr,It) [destruk]
Street Fighter Alpha 3 (Hispanic 980904)
[Layne, Dr. Spankenstein, ranger_lennier, Smitdogg, The Dumping Union]
Zing Zing Zip (bootleg) [ANY] (not working)
Empire City: 1931 (Italy) [ANY]
Thunder & Lightning (bootleg with Tetris sound) [ANY]
The Pit (US, set 2) [Siftware]
Terra Cresta (newer PCB) [Siftware]
Speak & Rescue (bootleg) [Siftware]
Heavy Unit -U.S.A. Version-
[Hurray Banana, Tormod, hotaru, Dna Disturber, F. Marsaud, N.
Francfort, Smitdogg, The Dumping Union]
ATV Track (Set 2) [Guru] (not working)
Ropeman (bootleg of Roc'n Rope) [Tafoid]
New games marked as GAME_NOT_WORKING
------------------------------------
Catch (prototype) [Siftware, hap]
Wangan Midnight Maximum Tune 2 Ver. B (Japan) (GDX-0016A)
[Guru, R. Belmont]