User avatar
Stiletto
Posts: 96
Joined: Thu Nov 06, 2014 4:11 pm

MAME 0.173 has been released

MAME 0.173 has been released. Get it at http://www.mamedev.org/release.php

--

It’s the end of another month, and time for a new MAME release. This time there are more improvements for capabilities we have added in previous versions.

MAME now includes ports of some popular shaders for the BGFX renderer, including the EAGLE, HQx and xBR scaling effects. Please be aware that the BGFX renderer is still a work in progress, and you may experience some stability issues when using it.

This release introduces a new cheat engine based on the Lua scripting language. This opens the door to exciting new possibilities. One of the most significant improvements is better support for systems with banked memory, including many 8-bit home computers like the Apple II family.

MAME’s archive file handling has been improved in a number of ways. ZIP64 format is now supported, allowing MAME to archives over 4GiB in size. This mean that, for example, large flyer collections don’t need to be unzipped for use with the internal UI. 7zip support has been updated for the latest 7zip release, including new archive features and many bug fixes. We’ve also fixed a number of bugs in the internal file browser.

We would also like to announce the #mame channel on the Freenode IRC network where you can give us your feedback and chat with other MAME users.

Of course this release also includes many other improvements from the MAME team and external contributors.

--

0.173
-------


MAMETesters Bugs Fixed
----------------------
- 04965: [Interface] Games with no screen produce no "final.png" with -STR (Osso)
- 04919: [Flip Screen/Cocktail] (dynduke.c) All sets in dynduke.c: Most of background
missing on Flip Screen (Osso)
- 06181: [Documentation] (vicdual.c) tranqgun: The correct description is
"Tranquillizer Gun" (M.A.S.H.)
- 06170: [Compiling] OpenMP: OpenMP-enabled builds of MAME 0.172 fail to compile (Jindřich Makovička)
- 05897: [Misc.] (hornet.c) gradius4: "MASK ROM CHECK" in service mode fails (Ville Linde)
- 06176: [Crash/Freeze] (ksys573.c) All sets in ksys573.c using CD: Unable to boot (crazyc)
- 06019: [Interface] Wrong default bios outputted with -listxml command. (dankan1890)
- 06174: [DIP/Input] (twincobr.c) fshark, skyshark, hishouza, tp84, tp84a, tp84b: Dipswitch info
- 01792: [DIP/Input] (subsino2.c) bishjan: Keyboard mode does not work (Luca Elia)
- 06175: [Misc.] (apple2.c) apple2jp: Ctrl-T = Inverse kana ? (R. Belmont)
- 06182: [Core] (cgenie.c) All sets in cgenie.cpp: Crashing upon starting! (Fabio Priuli)
- 06163: [Misc.] (apple2e.c) apple2e: XPS Diagnostic IIe test failed! (R. Belmont)
- 06074: [DIP/Input] (glasgow.c) glasgow: Mouse no longer able to move chess pieces (Robbbert)
- 06173: [Core] All software saving SRAM: Software loaded outside of software list
(e.g. -cart PATH_TO_ROM) fails to save SRAM (dankan1890)
- 06172: [DIP/Input] (sms.c) Default input mapping for two paddle devices causes a conflict (AJR)
- 06178: [Crash/Freeze] liblrabl: Reset during second loop of attract mode. (Angelo Salese)

Source Changes
--------------
-new Android icon images [JacKc]

-Compressed internal layouts [David Haywood]

-TMS5220/5110 merge Part 1 [Lord Nightmare]

-Crystal Colours (Ver 1.02): Added default NVRAM. Also added more
technical notes [Roberto Fresca]

-Added dedicated inputs for both Crystals Colours sets. Also added more
technical notes. [Roberto Fresca]

-Iterate over core classes C++11 style [AJR]

-borrow string processing code from ui.cpp so that £ works in layouts
(using UTF-8 encoding at least) [David Haywood]

-updated sc4fd7tha.lay with UTF8 encoding of £ sign [Krick]

-Recognize the full range of controller inputs [AJR]

-redump leapstertv [Team Europe]

-Initial Catalan translation [jmallach]

-naomi.c: add Derby Owners II protection key [MetalliC]

-Reduce the incidence of required_device in subdevices [AJR]

-UML: Added FCOPYI and ICOPYF instructions to pass raw data between
integer and floating-point registers. [Ville Linde]

-mips3: Fix behavior for 32/64 bit mode floating point register
aliasing.[Happy]

-Magic10 driver: Added technical notes, game status, defined clocks,
fixed inaccurate notes, and some driver cleanups. [Roberto Fresca]

-screen: svg rendering from inside the rom. [O. Galibert]

-Updated Portuguese (Brazil) [Ashura-X]

-luaengine: add plugin options menu [Carl]

-Major Havoc: Updated Gamma CPU address decoding/mirroring from the
schematic [Lord Nightmare]

-FB01: fix ROM label to match actual chip [anonymous]

-Magic Crystals: Improve ROM labeling for Japan set based on PCB
picture, and noted that the Japan set we have is revision 2, but a
revision 0 exists, undumped [Lord Nightmare]

-TMS5220: add a 'combined rs/ws write' function for systems which
require both pins to change at exactly the same time and not to reset
the chip. [Lord Nightmare]

-Revert software-installed slot/image options when changing software [AJR]
Remove emu.h's stealth include of emuopts.h through mconfig.h;
reduce dependency on emuopts.h in other headers and source files.
MCFG_CPU_FORCE_NO_DRC is now a CPU configuration parameter rather than
a global one; it still works to override the -drc option setting.

-fix some missing gfx in bbusters / mechatt [dink]

-Make overscan on integer scaled targets optional (add option -intoverscan). [Calamity]

-luaengine: direct and region accessors [Carl]

-This one documents what I think is a real bug of the Japanese game
Sports Pad Soccer: part of the player 2 input is read from player 1
input instead. Also, reorganized code of the Japanese Sports
Pad controller device and replace some PORT_CUSTOM/PORT_CHANGED
callbacks with PORT_READ_LINE/PORT_WRITE_LINE. [Enik]

-Add experimental cheat lua plugin [Carl]

-Improvements to tape driver of hp9845b [F. Ulivi]

-info.cpp: Improved documentation of input devices in the -listxml
output, since having just a generic 'number of buttons' is rather
pointless in the context of home systems with configurable controllers
(being them keyboards, keypads or joypads). Now the various
controllers are listed separately with the number of buttons they
have. Frontend authors who relied on the "buttons" attribute of the
input node for any kind of filter shall now scan all available
controllers and take the maximum among their "buttons" attribute
(possibly discarding keyboards and keypads if they want) to recover
the old value. [Fabio Priuli]

-info.cpp: Started to acknowledge PORT_16WAY inputs in -lx, since they
were reported as 8-ways so far. [Fabio Priuli]

-Devfind revision phase 1, cleaning out some legacy stuff [AJR]
* Eliminate the cached device_t::m_region pointer and its region()
getter method. Devices that need to bind to a region with the same
tag should use optional/required_memory_region or
optional/required_region_ptr with DEVICE_SELF as the subtag; this
improves error checking. (DEVICE_SELF has been moved to device.h
for greater visibility in the source.)
* Allow required/optional_region_ptr to specify a specific length
which must match that of the region found.
* Implement finder_base::finder_tag() getter for diagnostic purposes.
* Perform some (not very efficient) validity checks on memory region
finders instead of allowing them to automatically pass.
* Privatize device_memory_interface::m_addrspace.

-Magic 10 driver: Added technical notes and a missing PLD dump. [f205v]

-Added m62(kidniki) to nl.lua. Started some experiments around parallel
solving of linear equations. This code is not active. Fix kidniki
audio performance. [Couriersud]

-plugins/timer: add sample plugin for game time [Carl]

-info.cpp: first attempt to fix the longstanding issue about inputs
owned by devices being always tagged as P1 inputs in -lx.
[Fabio Priuli]

-plugins/cheatfind: start lua cheat finder library [Carl]

-apple2: Additional work on the PC Transporter [Peter Ferrie, R. Belmont]

-Basic TCP server based on libuv [Inaki Baz Castillo,Miodrag Milanovic]

-intv: Converted controller inputs to be slot devices. [Fabio Priuli]

-intvecs: Converted hand controllers, keyboard and synth to be slot
devices, by using a temporary hack to workaround the impossibility to
plug the same device into 2 different slots as these keyboard require.
[Fabio Priuli]

-Skeleton implementation for Universal windows main app classes. [Brad Hughes]

-String Translate for Chinese (Traditional / Simplified) [YuiFAN]

-diimage.cpp: Allow image devices to be configured with a fixed (not
user selectable) piece of software and updated a few options and menu
to acknowledge such possibility. [Fabio Priuli]

-macs.cpp: Converted to use generic cartslot with fixed software
configuration. Cleaned up loading and banking systems in the driver as
a result. [Fabio Priuli]

-Added extra bit as delay between bytes to make 1 stop bit work [Joakim Larsson]

-apple2: Further PC Transporter work. V30 now boots. [Peter Ferrie, R. Belmont]

-mips3: Fixed DMULT and DMULTU in both interpreter and DRC modes. [marathonman]

-ng_aes.cpp: converted AES controllers to work through slot devices.
Also, separated more clearly the CD component by the base unit.
[Fabio Priuli]

-am9517: add clone with the non-standard mask behavior of the PC
Transporter ASIC [Carl, R. Belmont]

-apple2: updated PC Transporter to use alternate DMAC emulation & fixed
V30 clock. [Peter Ferrie, R. Belmont]

-apple2: PC Transporter: halt V30 properly on startup, XT has 8-bit
ISA, improved 6502 CGA framebuffer writes. [R. Belmont]

-screen: Fix alpha handling, cdkong looks good now [O. Galibert]

-bgfx: Add data-driven render target clearing [Ryan Holtz]

-Significant speed improvement:
* added a new solver using compressed row format
* fixed sorting
As a result, netlist performance on kidniki nearly doubled. The
performance increase is mainly due to the fact that sorting decreases
the number of operations for gaussian elimination of the kidniki
matrix from ~7800 to 707. In addition, compressed row format improves
L1 usage. [Couriersud]

-Eliminate device_t::static_config, a type-unsafe legacy feature. [AJR]

*Rewrite or remove every last instance of MCFG_DEVICE_CONFIG and its
two aliases, including within comments and dead code.

*Make the Z80/Z180 daisy chain an interface that interfaces with the
existing interface. Z8000 has been hooked up to this as well (p8000_16
already configures it), but currently does nothing with it.

-mips3: Fixed interpreter bug where BADCOP exceptions would execute the
faulting opcode twice. [Ryan Holtz]

-Update strings.po [aviloria]

-Update German GUI translation [rootfather]

-Added ImGui based debugger. [Barry Rodewald]

-apple2e: fix C800 internal ROM reading [R. Belmont]

-New PlayChoice-10 BIOS (Single Screen, Freeplay fix, Newer?) [Firehawke]

-apple2: fixed inverse text drawing. [R. Belmont]

-Added HQ2x, HQ3x and HQ4x shaders. [MooglyGuy,Jules Blok,Cameron Zemek,Maxim Stepin]

-soft is hard and hard is soft. Two is one and one is two. No wonder
"-video accel" has substandard performance if opengl is disabled.
[Couriersud]

-These init calls all returned false. No need for a return value in
this case. [Couriersud]

-Iterate over devices C++11 style [AJR]

Replace the old device_iterator and its specialized versions with
functionally equivalent classes that use standard operators to yield
references to devices/interfaces rather than pointers. With
range-based for loops, they no longer have to be stored in named
variables, though they can also be reused concurrently since the
iteration state is now maintained by a subclass.
Add a few more typical getters to device_t::subdevice_list.

-bgfx: Added SuperEagle shader. [Ryan Holtz]

-Refactored distortion pass [ImJezze]
* separated curvature parameter into distortion, cubic_distortion and
distort_corner
* distortion and cubic_distortion can be negative, to compensate each
other
* distort_corner is intependent from the image distortion

-neogeo: reworked inputs to work through the slot device interface. you
can now configure the 15-pin ports available in the multicart driver
(neogeo) with the -crtl1 and -ctrl2 options. Thus, if you want to launch
janshin in neogeo with the mahjong control panel you shall now prescribe
-edge "" -ctrl1 mahjong
and set accordingly the dipswitch (the first option disables inputs
from the edge connector). When you run single game drivers (e.g. mslug,
or kof94, etc.), instead, a unique controller is available and cannot
be modified. In particular, the janshin driver already comes
pre-configured in the proper way. [Fabio Priuli]

-Refactor OSD window. [Brad Hughes]
Unified renderer in osd_window as std::unique_ptr
Made windows all std::shared_ptr Made window lists
std::list> Updated OSD SDL worker_param
to not use malloc (not compatible with smart pointers) Made renderer
pointer to window a weak reference. May not be available during
destruction of the window.

-Alta Tensione: Added technical notes, game status, and patched the
boot protection. [Roberto Fresca]

-Split UI and frontend part from core [Miodrag Milanovic]

-Implemented dynamic loading of precompiled solver code. [Couriersud]

-saturn.cpp: converted controllers to work through slot devices,
cleaning up the related code. [Fabio Priuli]

-saturn.cpp: Added support for SegaTap adapter (4 controllers) and
Sega Multitap adapter (6 controllers). Saturn Bomberman can now be
played as intended. [Fabio Priuli]

-softlist.cpp: add support for "rom_ignore". [Fabio Priuli]

-itgambl2.cpp driver: Added technical notes and some clean-ups
[Roberto Fresca]

-apple2: fixed Apple II J-Plus text drawing, and updated notes
[R. Belmont]

-r9751: add more floppy debugging and fix DMA masking
[Brandon Munger]

-ioport.cpp: extended core input to support up to 10 players.
[Fabio Priuli]

-dumped Dreamcast bios MPR-21933, confirmed match MPR-21931 [CoolMod]

-sf.c: does not have COIN3, and protection MCU on sfj is an i8751 [Yu]

-cgenie.cpp: expanded .cas support so that also files created by
Genieous emulator can be loaded. [Fabio Priuli]

-Added "selection" parameter to chain input sampler [ImJezze]
* if specified all textures (.png) within the same directoy of the
given texture will be selectable via slider in the UI
* also added slider for "shadow mask tile mode" to HLSL chain

-bgfx: Ported xBR shaders from libretro. [Ryan Holtz, Hyllian]

-Archive handling improvements [Vas Crabb]
* Improve error handling in 7zip file I/O code
* Fix reading 7zip files >=4GB on LP32/LLP64 targets
* Update to LZMA SDK to 15.14, supports new 7zip features
* Stop relying on local hacks to LZMA SDK
* Support most ZIP64 features excluding directory compression
* Support LZMA-compressed files in ZIP archives
* Support Info-ZIP UTF-8 file name fields
* Fix phantom files/directories when browsing archives
* Report archive handling errors

-Update to expat 2.1.1 for security and bug fixes [Vas Crabb]

-xbox\chihiro: usb is now partially usable [Samuele Zannoli]
* control,bulk,interrupt transfers work
* started hle simulation of usb devices on chihiro baseboard
* there is a first implementation of xbox game controller
* the chihiro bios can now enter system configuration menu

-hp9845: added capabilty to load option ROMs [F. Ulivi]

-ti99: Several code changes [Michael Zapf]
* GROMs with clock input line and improved timing behavior
* TMS9928A delivers GROMCLK if configured
* TI-99/8 mainboard: implemented custom chips (vaquerro,
mofetta, amigo) for low-level emulation
* fixed HOLD feature of TMS9995
* moved v9938 from console to EVPC where it belongs, dropped videowrp,
* fixed issues with paged37x cartridges
* fixed issues with Horizon Ramdisk

-n64: Do SI dma transfer after delay, not before [Happy]

-tourvis.cpp: changed to use Software Lists, trimmed all ROMs to
correct sizes, confirming that the majority match exactly the
PCE roms (only 3 differ, Gomola Speed which could be an alt
revision, R-Type II which has been hacked, and Be Ball where there
is an unknown single byte change. [David Haywood]


New machines added or promoted from NOT_WORKING status
------------------------------------------------------
New 2001 (Italy, Ver. 2.00N) [f205v]
Ultraman Monster Battle [hap, Kevin Horton, Rik]
Crystals Colours (Ver 1.02) [Roberto Fresca, f205v]
Android (newer build?) [Chris Hardy]
Fidelity Sensory Chess Challenger 9 [hap, Berger]
Dragon's Heaven (development board) [Brian Hargrove]
Tiny Toon Adventures (prototype) (PlayChoice-10) [Tony Swann]
Tiger Copy Cat (2 versions) [hap, Sean Riddle]
Sushi Bar [colour thief, Ryan Holtz, Smitdogg, JordanRom, Mucci, F. Marsaud,
King Hanco, Sonic, B. Munger, R. Gatto, Bigster, Dullaron, Brizzo, Shoutime,
MetalliC, The Dumping Union]
Touch & Go (Korea, unprotected) [system11]
Pokonyan (Japan 940322) [sylphia]
Last Hope (bootleg AES to MVS conversion, no coin support)


New clones added or promoted from NOT_WORKING status
----------------------------------------------------
Operation Wolf (Japan, prototype) [caius]
Majestic Twelve - The Space Invaders Part IV (US)
[Artemio Urbina, The Dumping Union]
Kamikaze (Potomac Games) [Blair Quinney]
Major Title 2 (World, set 2) [Porchy]
Atomic Robo-kid (set 2) [Alex Cmaylo]
Beast Busters (Japan, Version 2) [ShouTime]
Mystic Warriors (ver AAB) [Bill D / The Dumping Union]
Raiden DX (Japan, set 2) [Alex Cmaylo]
Vs. Excitebike (set EB4-3 E) [Matt Osborn]
Spelling B (1979 version) [hap, Sean Riddle]
Dragon Saber (World, DO2) [Layer from jammaplus]
1945k III (older, OPCX1 PCB) [system11]
Bestri (Korea, set 2) [system11]
DoDonPachi Dai-Ou-Jou (2002.10.07 Black Ver., bootleg Knights of Valour Super Heroes conversion)
Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver., bootleg cartridge conversion)
Espgaluda (2003/10/15 Master Ver, bootleg cartridge conversion)
Champion Number (V0.67) [Roberto Fresca, f205v]
Unitron 1024 [Felipe Sanches]


New machines marked as NOT_WORKING
----------------------------------
Konami Gradius (handheld) [hap, Sean Riddle]
Luna Park (ver. 1.2) [Roberto Fresca, f205v]
Jungle (VI3.02) [f205v]
Konami Lone Ranger (handheld) [hap, Sean Riddle]
Sonik Fighter (encrypted) [Roberto Fresca, Ioannis Bampoulas]
Fidelity Phantom [hap, Lord Nightmare]
Alta Tensione (ver. 2.01a) [Roberto Fresca, f205v]
Euro Double Star Record (ver.1.2) [Roberto Fresca, f205v]
Nu, pogodi! [hap, Igor]
Print Club 2 2000 Summer [Bill D, The Dumping Union]
Print Club 2 Kobe Luminaire '99 (Print Club Custom 3) (J 991203 V1.000) [Ryan Holtz, Bill D, The Dumping Union]
Print Club 2 Vol. 6 Winter (J 970121 V1.200) [Ryan Holtz, Bill D, The Dumping Union]
Print Club 2 Vol. 8 Summer (J 970616 V1.100) [Ryan Holtz, Bill D, The Dumping Union]
Print Club 2 Vol. 9 Autumn (J V1.100) [Ryan Holtz, Bill D, The Dumping Union]
Print Club Winnie-the-Pooh Vol. 2 (J 971218 V1.000) [Ryan Holtz, Bill D, The Dumping Union]
Print Club Winnie-the-Pooh Vol. 3 (J 980406 V1.000) [Ryan Holtz, Bill D, The Dumping Union]
Various Aristocrat MK5 and MK6 sets
Polaroid Instant Memories [Alex Cmaylo]

New clones marked as NOT_WORKING
--------------------------------
Wonder Boy (system 2, set 2, 315-5176) [Silvio Grazini]


New WORKING software list additions
-----------------------------------
coco_flop: Donkey Kong Remix [Sock Master]
megadriv.xml: F1 - World Championship Edition (US, Prototype) [oliverthepig]
neogeo.xml: Last Hope
lynx.xml: Zaku

New NOT_WORKING software list additions
---------------------------------------
pce_tourvision.xml: Dragon Saber - After Story of Dragon Spirit [system11]
pce_tourvision.xml: Bull Fight - Ring no Haja [system11]
pce_tourvision.xml: Parasol Stars
- Stiletto

Return to “Announcements”