Jump to content

MAME 0.125u5 Released!


Recommended Posts





MAMETesters Bugs Fixed


- 01863: [Multisession] mwalk and clones: Crash on multisession.

(Atari Ace)

- 00971: [Color/Palette] spdcoin: In a reverse of the artwork bug,

the blue background has been replaced with a black one.


- 00251: [sound] spdcoin: Sound isn't perfect. There are many static

pops to be heard, and volume is very low. (couriersud)

- 01884: [Core] mtetrisc, vivdolls, starsldr (maybe all): (MAC OS)

crashes with "Illegal instruction" message (Aaron Giles)

- 01827: [interface] All sets in galaga.c: DIP switch information is

not being readded properly when .CFG is read. (couriersud)

- 01865: [Graphics] nbapbp: The graphic is completely wrong

(Aaron Giles)

- 01864: [interface] -listxml still crashes (Aaron Giles)

- 01885: [Misc.] astdelux, astdelu1, astdelu2: Fatal Error: Unable to

locate input port 'DSW' (Fabio Priuli)

- 01190: [Color/Palette] punchout, spnchout: The colors of the title

logo and letters on the top and bottom should be different

than each other. (Nicola Salmoria)

- 01693: [sound] jackal, jackalj, topgunbl, topgunr: After you get in

the jeep the music stops. (Nicola Salmoria)

- 01880: [Color/Palette] All sets in mrdo.c: Color Regression

(Nicola Salmoria)

- 01870: [Graphics] skylance, skylancr: cocktail mode, player 2's shots

are offset from player's position (Nicola Salmoria)

- 01871: [Documentation] officeye: Misspelled title (robiza)




Source Changes


Updated 68681 DUART: [Mariusz Wojcieszek]

- converted to device interface

- converted to 8 bit device

- added input and output port

- added X1/16 timer


Fixed compilation error when neither HAS_PPC403GA nor HAS_PPC403GCX

are defined. [Nathan Woods]


Additional documentation in the TMS5220 and SN76496 cores.

[Lord Nightmare]


Fixed handling of the U register in the RET instructions and when

taking an interrupt in the Nintendo Minx cpu core. [Wilbert Pol]


suprnova updates: [David Haywood]

- now uses its own draw roz function, which supports linescroll

or columnscroll, and will give us the ability to 'render'

priority data (with roz applied) from the flagsmap to a temp

bitmap to work with.

- priorities should be correct from start to end in cyvern now..

still not perfect tho.

- added a note about what needs fixing for the sengekis sprite zoom

(shrink flag we're not handling)

- allow wraparound to be turned off (sarukani..)


Italian gambling games based on H8/3337 MCU + NEC D7759GC:

[Roberto Fresca]

- Corrected year and manufacturer to ntcash and wizard.

- Sorted the games by year.


Simplified m90 video update routine. [robiza]


Improvements to bomblord (bbmanw clone): [robiza]

- partially fixed the background

- fixed the sprites

- implemented video register for selecting different resolutions;

this fixes graphic in the game screen

- fixed scroll video register

- cleaned up offset and priorities

- implemented linescroll

- promoted to working


Improvements to dynablsb (dynablst clone): [robiza]

- partially fixed the background

- fixed the sprites

- fixed mark for last sprite

- fixed player #1 and player #2 controls

- fixed graphics layer and offset

- fixed layer select

- implementated the scroll video register

- cleaned up offset and priorities

- promoted to working


Numerous improvements to the blackt96 driver. [David Haywood]


Fixed colortable creation in Mr. Do driver. Fixed diode voltage drop

value which caused apples to be orange instead of red-orange. The

title screen now perfectly matches

http://www.flickr.com/photos/arecee/2384126902/sizes/l/ including the

logo outline. [Nicola Salmoria]


Jackal driver improvements: [Nicola Salmoria]

- Fixed palette animation (very subtle!)

- Verified on the schematics and on the pcb that the high score table

text cannot change color.

- Removed the IMPERFECT_GRAPHICS flag

- Fixed music with a kludge (overclock sound CPU)

- Added dip switch locations and sorted input ports


Simplified palette handling in punchout. Fixed big sprite palette in

top monitor. [Nicola Salmoria]


Cal Omega driver: [Roberto Fresca]

- Cleaned up the driver following the MAME Coding Conventions.

- Added support to Game 18.7 (Amusement Poker).

- Improved the input system for some games.

- Fixed some wrong color codes.

- Updated technical notes.


New driver for italian gambling games based on Mitsubishi/Renesas

M16C MCU family. Added dumper notes, hardware details and hooked the

sound devices. Moved Euro Jolly X5 to this new driver, and add

support for Grand Prix. [Roberto Fresca]


Improvements to Sandii' games driver: [Roberto Fresca]

- Fixed the tilemap size.

- Fixed the screen size.

- Updated technical notes.


Changed map command in the debugger to now perform separate

read/write/fetch lookups. [Aaron Giles]


Fixed AY-3-8910 output mode in Draco. [Curt Coder]


Thayer's Quest changes: [Curt Coder]

- cleaned up driver

- added LED layout from Dragon's Lair

- mapped keyboard and dips correctly

- added laser disc drive selection

- fixed Z80-COP communications

- figured out ports from disassembly

- added cart presence detection logic

- fixed SSI-263 timings, service mode works now

- changed to use COP421


COP4xx: [Curt Coder]

- fixed LEI instruction

- added COP421 variant


Moved calipso, spdcoin, superbon, moonwar and moonwara to galaxian.c:


- superbon: Change name to Agent Super Bond and Manufacturer to

"Signatron USA"

- superbon: Change year to 1985 following information on


- removed armorcar remains from scobra.c


In the i8051 core, timer 0's second split counter was incorrectly

checking the Timer 1 Run Control Bit. Fixed it. [Jim Stolis]


PEPlus driver updates: [Jim Stolis]

- All video slot titles now accept coins and play normally

- Renamed peps0716 to its proper name "River Gambler Slots", instead

of "Quarter Mania Slots"

- Updated peps0716 to use the proper CAP

- Replaced peps0615 to use a CAP with closer colors (still wrong)


Added alternate layout for World Rally 2 PCB. [Mirko Mattioli]


Added sound emulation to Dacholer and Kick Boy. [Tomasz Slanina]


Cleaned up the usage of Machine in many of the src/video files.

[Oliver Stoenberg]


Correctness pass over the source tree: [Atari Ace]

- added static qualifiers where appropriate

- added missing #include statements, source comments and header


- removed dead declarations

- added ~30 header files for a number of drivers

- consolidated various cchip declarations


Improved 8085 timing and fixed flag calculations based on differences

between it and the 8080. [Miodrag Milanovic]


Converted a number of drivers over to using input_port_read() from

input_port_read_indexed(). [Fabio Priuli]


Updated cheat system: [shimaPong]

- Changed the function of default memory read in case of the search

to prevent from crashing if a game uses cpu_spinutil()

Now basically used do_memory_read() instead of do_cpu_read()

(Try to search in actfancr between this and previous version)

NOTE : It's not fundamental solution but no longer crash

- Cleaned up read_data() and write_data()

- Cleaned up save/load routine and added open_cheat_database()

- Added new menu "Cheat Commands" into the cheat main menu

the following commands are supported in this menu

* reload cheat code (the same as Reload Database key)

* cheats ON/OFF (the same as Toggle Cheat key)

* watchpoints ON/OFF (the same as Shift + Toggle Cheat key)

* save description (save the title of the game)

* save raw code (save raw cheat code with new format)

- Fixed several bugs which has found in testing

- Renamed functions based on coding guidlines


Added option -[no]coin_lockout (-[no]coinlock) to control coin

lockout behavior. [Aaron Giles]


NeoGeo updates: [Johnboy]

- Updated Neo-Geo game pcb infos

- Marked kof2001h AES VERSION

- Marked samsho3a MVS VERSION

- Marked 2020bba AES VERSION, renamed p1 and added a note

- Renamed lastsold p1 to correct chip label 134-p1k

-> Checked other Korean sets, found similar ID change; renamed


Renamed rbff2k p1 to 140-p1k

Renamed fswords p1 tp 187-p1k

Renamed aof3k p1 to 196-p1k

Added comment to kof99n: Korean version?

- Renamed mslug3n to mslug3h, Marked AES VERSION, changed mamedriv.c

- Remove BAD_DUMP from kotm, add correct m1

- Correct s1 layer size in samsh5sp + clones

- Removed BAD_DUMP from burningf + clone

- Added correct m1 to lbowling

- Added correct m1 to socbrawl + clone

- Added correct m1 to mutnat

- Added correct m1 to joyjoy

- Added correct c1/c2 and s1 to marukodq

- Renamed p-roms in wh1 and wh1h, added comment

- Added some comments about 'M1' and 'S1' roms

- Renamed files in kof2001 to correct chip label, changed m1

- Corrected set pbobblen as found on MVS cart, added notes


Added bilinear filter option to software rendering. Not hooked up to

anything yet. [Aaron Giles]


DRC UML changes: [Aaron Giles]

- separated conditions and flags into two separate fields

- added more extensive per-opcode information

- made validation more thorough using the extended information

- disabled back-end validation for now until it can be revisited

using the new tables

- changed GETFLGS encoding so that the mask is in parameter 2 instead

of the flags field

- wrote new disassembler based on enhanced opcode info structure

- moved disassembler into drcuml.c and removed old code

- extended disassembler buffer sizes to at least 256 bytes

- removed explicit flag requests from the shorthand opcodes

- added optimization function to drcuml which is called at block end

- added logic to compute the necessary flags based on upcoming opcodes

and only select those flags which are required

- added NOP opcode

- added logic to simplify opcodes as much as possible at the UML layer

- removed similar logic in the x86 and x64 back-ends

- added stricter parameter validation for registers and mapvars

- improved disassembly output

- added simple symbol table to the UML for improved disassembly

- changed optional disassembler cache parameter to a drcuml object

- fixed STORE opcode description to allow immediate source operands


DRC frontend changes: [Aaron Giles]

- changed from tracking "live" registers to tracking "necessary"


- genericized register tracking to be more flexible

- added previous instruction pointer to opcode descriptions


PowerPC recompiler: [Aaron Giles]

- fixed bug where a branch and link to the link register would

overwrite the link register before fetching the target address

- updated to no longer explicitly specify flags

- added symbols for most common variables

- fixed bug in handling XER carry flag for subo. forms

- simplified flag insertion logic for opcodeo. forms

- rewrote lswi/stswi as subroutines

- made accesses to tempdata explicitly dword or qword

- fixed SRR0 when generating a syscall

- removed no longer necessary TESTs on extsb/w, rlwinm, rlwnm,

rlwimi, cntlzw

- fixed bug where the SO flag was not being computed for compares

- fixed flag computations for mulhw/mulhwu/mullw

- fixed subtlety of shifts between 32 and 63 in srw/sraw

- fixed mffs/mtfsf to use FP registers

- fixed mtfsfi to use the immediate value properly

- now marking terminal count bit in DMA status register

- added support for 4xx protection registers via the MMU

- added TLBH, TLBU, and DEC to the list of registers in the debugger

- turned off "end of transfer" DMA signals in favor of "transfer

count 0" signals; fixes memory-to-memory DMA in fiveside

- minor flags optimizations:

* broke CR into several individual bits of state

* extracted the SO bit from XER into its own state

- cleaned up register tracking implementation

- fixed numerous errors and shortcomings in the tracking

- added support for removing unnecessary XER CA and CR0 computations

- updated UML logging to output new frontend statistics

- added basic cycle counts for longer instructions

- added penalty for polling timebase and decrementer registers

- fixed dependencies in cpu.mak

- reduced address bus width of 4xx series to 31 bits per the


- fixed bug that would jump to incorrect PC after filling the

TLB during a mismatch event

- added explicit address truncation to 31 bits for 4xx series

- added new PPCDRC_ACCURATE_SINGLES option, which removes the

excessive (and very likely unecessary) extra rounding when

performing the "fast" single-precision floating point ops

- fixed TLB filling for 4XX protection ranges

- fixed parameter ordering for masked reads/writes

- added detection of MMU enablement in 403GCX case

- fixed bug in protection bounds violation detection for 4XX

- changed SPU receive model to a push model; updated drivers accordingly

- added macros for setting the SPU transmit handler and sending bytes

- cleaned up ppc.h

- fixed lmw/stmw if rA is one of the loaded/stored registers

- removed unnecessary variables & structure members

- optimized for the XER and CR0 case where XER doesn't need an overflow



MIPS recompiler: [Aaron Giles]

- updated to no longer explicitly specify flags

- tweaked register tracking to match new DRC frontend system

- updated UML logging to output new frontend statistics

- fixed left/right accesses to work with recent memory handler changes


x86/x64 back-ends: [Aaron Giles]

- added flag support to SEXT, ROLAND, ROLINS, LZCNT opcodes

- fixed bug where sometimes the flags would be corrupted; in

particular, we always clobbered the flags for the subfze

instruction, which broke the nbapbp camera and some other things

- fixed DIVS/DIVU opcode so they properly compute SZ flags when

requested; fixes camera wackiness in nbapbp

- added a "hop" around the prolog of the HANDLE opcode to allow


- redesigned x86 stack management to keep the stack at the same 16-byte


- fixed adc/sbb so that they don't optimize out ever

- fixed detection of special and/or/xor cases

- fixed GETFLGS opcode so that it doesn't return anything other than

requested flags

- changed LZCNT/BSWAP to be more flexible in register selection


gticlub driver: [Aaron Giles]

- converted sysreg_r/w to 8-bit handlers

- added hack to make network IRQs work; brings some games back to life


Konami PowerPC drivers: [Aaron Giles]

- designated fast RAM accesses for work RAM

- removed unnecessary mirroring


Firebeat driver:

- added VBLANK IRQ clear

- added ATAPI IRQ clear

- tried to add UART IRQ clear but it doesn't yet work

- most of the games start to show something again with these changes

- added fast RAM region


Model 3 driver: [Aaron Giles]

- identified and fixed VBLANK bit in real3d status which was

causing the system to hang at startup

- designated fast RAM accesses for work RAM


53C810 SCSI controller: [Aaron Giles]

* changed read/write handles to proper READ8/WRITE8_HANDLER

callbacks so they can eventually be used directly




New games added or promoted from NOT_WORKING status


Super Rider (Italy) [Luca Elia]

SWAT Police [brian Troha]

Player's Edge Plus (PS0014) Super Joker Slots [Jim Stolis]

Player's Edge Plus (PS0022) Red White & Blue Slots [Jim Stolis]

Player's Edge Plus (PS0043) Double Diamond Slots [Jim Stolis]

Player's Edge Plus (PS0045) Red White & Blue Slots [Jim Stolis]

Player's Edge Plus (PS0308) Double Jackpot Slots [Jim Stolis]




New clones added


Tank Force (US, 4 Player) [brian Troha]

Videomat (polish bootleg) [Roberto Fresca]

Head Panic (ver. 0117, 17/01/2000) [brian Troha]




New games marked as GAME_NOT_WORKING


Mystery Number [Roberto Fresca]

Shark Party (Italy) [Luca Elia]

Victor 5 [Luca Elia]

Victor 21 [Luca Elia]

Euro Jolly X5 [Roberto Fresca]

Cal Omega - Game 18.7 (Amusement Poker) [Roberto Fresca]

Grand Prix [Roberto Fresca]

Squash (Itisa) [f205v]



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...