MAME v0.179 released!

MAME stands for Multiple Arcade Machine Emulator. When used in conjunction with images of the original arcade game's ROM and disk data, MAME attempts to reproduce that game as faithfully as possible on a more modern general-purpose computer. MAME can currently emulate several thousand different classic arcade video games from the late 1970s through the modern era.

-imgtool: Various changes and modernizations: [Nathan Woods]
* Mac: Fixed an unsigned overflow error that would causes crashes on 64 bit systems.
* Fixed a bug that could cause module's close() callback to be invoked if an image failed to open or be created.
* C++-ified imgtool_partition, imgtool_image, imgtool_stream, others.
* Converted a number of pointers to references.
* Made use of std functionality where possible.

-coco: Changed to use required_ioport_array and optional_ioport [Nathan Woods]

-core: Ensured all CPUs export STATE_GENPCBASE and use safe_pcbase() for everything in the debugger, which allows interruptible
CPUs to work properly. [smf]

-pc: Fixed 16-bit audio in diagnose.exe for the Sound Blaster 16. [smf]
* The fix replaces the lowest bit of the page with the upper bit of the address, in the case of a 128k DMA.
* This applies to the southbridge, cs4031, wd7600, ngen, and at devices.

-ide: Added "headphones" to ATAPI CD-ROM drives. [smf]

-ay8910: Implemented upper address check. [smf]
* Not configurable at present, but chips could be ordered from the factory with IDs other than 0.

-model1: Made wingwar360 not crash on startup. [David Haywood]
* Currently hangs after you insert coins waiting for the safety bar to lower.
* Collisions in wingwar are broken since recent changes to swa.

-model1: Fixed enough to get netmerc to boot, though there are many issues still and it is unplayable. [David Haywood]

-model1: Made render list scanning code safer by masking accesses to the RAM size and using less pointer math. [David Haywood]

-mjsenpu: Hooked up payout buttons and a hopper [David Haywood]

-decocass: Tagged all sets as US / Japan based on which BIOS type they use (A = Japan, B = US/World). [David Haywood]

-decocass: Made the different BIOS ROMs selectable and added Ocean to Ocean. [David Haywood]

-tranz330: Added partially working driver for the VeriFone Tranz 330 point of sale terminal. [Ryan Holtz]
* Modem is not currently emulated, but it can be interacted with in a meaningful way and configured.

-core: Soft resets no longer turn back clocks on devices [AJR]
* Give RTCs their own phase of machine initialization, right after NVRAM loading
* Make RTC feature flag overrides const, including one new one
* Make rtc_clock_updated a required override

-ui: Parenthesize optional items in input menus [AJR]

-amusco: Various improvements; promoted to WORKING [AJR]
* Figured inputs out almost completely
* Added blinking cursor for service mode
* Hacked coins into working due to broken IRQ timings
* Palette is in need of improvement
* mc6845: Added readback for cursor blink state
* pit8253: Eliminated device name from logging messages

-es5506: Various fixes [Christian Brunschen]
* Fixed readback of global registers when the current page was in a certain range.
* Made voices run for a zero-length loop, as real hardware does it and synthesizers rely on it.
* These changes fix the playback of "Transwaves" on the VFX and SD-series synths.