Novità nella versione 0.114


MAMETesters Bugs Fixed
fghthist0113u2red [Aaron Giles]
dsound0113u4ora [Aaron Giles]
hardreset0113u3yel [Aaron Giles]
hardreset0113u3red [Aaron Giles]

Source Changes
Fixed autoframeskip so it doesn't immediately spike on startup or
after a pause. [Dave Dribin]

Made behavior of ES5503 IRQ status register more accurate.
[R. Belmont]

Fixed bug introduced in the memory pool code when hashing was added.
[Nathan Woods]

Added complete discrete sound to Double Play/Extra Inning. Emulated
foul sound in Bowling Alley. Emulated all sounds except the screech
and wind sounds in Space Encounters. [Derrick Renaud]

Updated Virtua Racing to use the TGP core, based on guessing from the
Daytona TGP code. [Ernesto Corvi]

Added save state to several Atari games: batman, eprom, eprom2, klaxp1,
klaxp2. Also added general save state support to the atarijsa and
atarigen modules. [couriersud]

Added save state support to the konamigv driver, specifically enabled
for nagano98 and simpbowl. [couriersud]

Added DIP locations to the commando driver. [Justin Szczap]

Avoided a memset in the hyperstone core to give ~4% speedup in hidden
catch. [David Haywood]

Added small optimization to rand_memory(). [Nathan Woods]

Konami NWK-TR update: [Ville Linde]
- Improved the LANC board emulation
- Improved the graphics board emulation so that it passes all the

Adds save state support to the Cidelsa games and fixed reset behavior.
[Curt Coder]

Added validity checks to ensure that LSB_FIRST and PTR64 are set
correctly for the current platform. [Aaron Giles]

Removed obsolete assembly code and compiler definitions. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Virtua Racing [Ernesto Corvi, ElSemi]

New clones added
Air Attack (set 2) [Guru]

New games marked as GAME_NOT_WORKING
Wonder League '96 (Korea) [David Haywood]


MAMETesters Bugs Fixed
sega0113u3red [Aaron Giles]
diehard0113u3red [R. Belmont]

Source Changes
Improved the K001604 ROZ layer emulation. [Ville Linde]

Added the timing parameters for the Exidy 6502 driver from the
schematics, and updated a number of other drivers to use the newer
timing routines. [Zsolt Vasvari]

Exidy 440 driver update: [Zsolt Vasvari]
* added video timing from schematics
* added the 9 timing PROMs to the ROMsets
* all the games appear to use the same timing PROMs with the
exception of Top Secret, which sets the VBLANK 4 pixels earlier.
This fixes the game graphics, but cuts of the very bottom row of
the year display on the title screen. It's most likely a real
issue in the game, as tweaking the behavior adds garbage pixels
to all the other games

Updated the itech32 driver to configure video timing dynamically
according to how the chip is programmed. [Zsolt Vasvari]

Hooked up the new TGP core to the Model 2 driver, mapped the TGP
data ROMs properly, and updated the TGP core to the latest information.
[Ville Linde, Ernesto Corvi, ElSemi]

Fixed irobot crash introduced in last timing update. [Zsolt Vasvari]

ES5503 updates: [R. Belmont]
- Major fixes to IRQ semantics and end-of-sample handling
- Sample memory now configurable
- Added state save support
- Calculates output rate properly based on the input clock
- Hooked up properly to mquake

Added analog controls for GTI Club. [Ville Linde]

Fixed crashes in some games using the SCSP. [R. Belmont]

Now enabling all CPUs by default, which helps ensure that even unused
CPUs get updated with core changes, etc. [David Haywood]

Optimized the options code and memory pool code to use hashes for
faster searching. [Nathan Woods]

Cleaned up and more heavily documented the tumbleb driver.
[Brian Troha]

G65816/M37710 CPU core updates: [R. Belmont]
- Fixed a race condition in the WAI instruction where the CPU could
get stuck. (MESS bug #661, may have caused intermittent issues
with Namco games in MAME too).
- Fixed block transfer instructions when the accumulator is in short
mode. (Fixes some SNES games not booting, notably Final Fantasy
Mystic Quest).

Corrected dip and added dip locations to Pettan Pyuu / Banbam, the
markham driver, and Calorie Kun vs Moguranian.
[Brian Troha]

Updated the Leland driver to the new video timing routines, as well
as the remaining drivers. Removed now-obsolete old timing routines
from cpuexec. [Zsolt Vasvari]

Added more recently discovered opcodes to the MB86233 core and
disassembler. [Ernesto Corvi, ElSemi]

Created WINOPTIONS_* constants for Windows OSD options. [Nathan Woods]

Updated the World Cup 90 DIP switches corrected from manual. Also
added diplocations. [Roberto Fresca]

Changed CDP1869 to use proper write handlers for MESS. [Curt Coder]

Added v60_stall mechanism to allow for synchronization between the
V60 core and an external CPU. [Ernesto Corvi]

Changed behavior of extra one-pixel border on Direct3D textures so
that the edge pixel is smeared into the border rather than leaving
the border black. This should eliminate a few oddities at the edges
of texture rendering. [Aaron Giles]

Updated video code to double buffer texture objects to reduce
contention of render primitive lists. Also changed rendering code to
explicitly alternate between primitive lists to prevent throwing away
old lists prematurely. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Wonder League Star (Korea) [David Haywood]
Spotty [David Haywood]
Astra SuperStars [Mariusz Wojcieszek]

New clones added
Crazy Kong (galaxian) [Colin]
Super High Impact (prototype, rev 4.0) [Brian Troha]


MAMETesters Bugs Fixed
eprom0113u2gre [Zsolt Vasvari]

Source Changes
Added proper MC8123 decryption code. Hooked up a number of games that
were using the chip, making many of them playable. [Nicola Salmoria]

Fixed several SHARC opcodes where data transfer was done regardless
of the condition. This fixes many things, like the upside-down
geometry in Model 2B games. And also, probably all the remaining
clipping issues in Gradius 4. At least the planet zooming out in the
intro works now. [Ville Linde]

Added Z-clipping to the Model 2 driver. [Ville Linde]

Replaced old Sega System E driver with new one based on HazeMD.
[David Haywood]

Fixed a large pile of DIP switches in the Sega System E games.
[Brian Troha]

Fixed crashing bugs in SCSP emulation. [David Haywood]

ES5503 improvements: [R. Belmont]
- Fixed extraneous click at end of samples
- Improved timing behavior. Fixes music tempo in many Apple IIgs
apps and games in MESS.

Fixed display of immediate word and long operands in the TMS340x0
disassembler. [Philip Bennett]

Updated Ultra Tank to component value code instead of a generic
emulation and added Sprint 4 audio. [Derrick Renaud]

Added save state support to the gaelco3d driver. Also added save
state support to tms32031.c and dmadac.c. [couriersud]

"Fixed" analog controls in some vector games by adding back a faux
VBLANK timing. [Derrick Renaud]

Changed the TMS340x0 core to clear the HSTCTLH NMI bit on an
acknowledge. [Philip Bennett]

Externalized CDP1869 color bit handling to a callback function for
MESS. [Curt Coder]

Refactored the options code into a new generic utility module
options.c. Moved the MAME core options into a new module emuopts.c.
[Nathan Woods]

Some minor NeoGeo set updates. [Johnboy]

Updates to the cybertnk driver: [PS]
- inter CPU communications
- inputs (almost complete)
- sound
- program ROMs marked as bad dumps
- unmapped reads

Updated some more drivers updated to the new video timing.
[Zsolt Vasvari]

Did a ground-up rewrite of the VIC Dual driver. [Zsolt Vasvari]

Added a preliminary MB86233 CPU core. Still needs to be hooked up to
the Sega Model 2 driver. [Ernesto Corvi]

Fixed an interrupt delay slot problem in the SHARC core. [Ville Linde]

Improved K001005 polygon rendering. [Ville Linde]

Introduced a video_screen_exists() call, to determine whether a given
screen exists. Updated the debugger to use this so as not to crash
if no screens are present. [Nathan Woods]

Fixed glitches in neogeo driver introduced in last update.
[Aaron Giles]

Added extensive (but still WIP) FD1094 debugging tools for help in
brute force searching for keys. [Aaron Giles]

Fixed bug in voodoo emulation that caused improper framerates to be
computed. [Aaron Giles]

New games added or promoted from NOT_WORKING status
Opa Opa [Nicola Salmoria, David Haywood]
Fantasy Zone II [Nicola Salmoria, David Haywood]
Ganbare Chinsan Ooshoubu [Nicola Salmoria, David Haywood]
Block Gal [Nicola Salmoria, David Haywood]
Master Boy [David Haywood, Charles MacDonald, Clawgrip]
7 Ordi [Brian Troha, stephh]
Koi Koi Part 2 [Tomasz Slanina]
Heuk Sua Baek Sa [David Haywood, Brian Troha]
Bestri [David Haywood, Brian Troha]
Guitar Freaks 2nd Mix Ver 1.01 [smf]
SD Fighter (Korea) [David Haywood, Brian Troha]

New clones added
Funny Bubble (In Chang Electronic Co) [Brian Troha]
Twin Adventure (Korea) [Brian Troha]
One + Two (earlier) [Brian Troha]

New games marked as GAME_NOT_WORKING
Sheng Dan Wu Xian [Xing Xing]
Super Dou Di Zhu [Xing Xing]
Da Ban Cheng [Xing Xing]
Dou Di Zhu [Xing Xing]
Mahjong Long Hu Zheng Ba 2 [Xing Xing]
Mahjong Man Guan Cai Shen [Xing Xing]
Mahjong Shuang Long Qiang Zhu 2 [Xing Xing]
Mahjong Super Da Man Guan 2 [Xing Xing]
Mahjong Tian Jiang Shen Bing [Xing Xing]
Big D2 [David Haywood]
Good (Korea) [David Haywood, Brian Troha]
Long Hu Zheng Ba 3 [Xing Xing]
Long Hu Zheng Ba 4 [Xing Xing]
Kuai Le Xi You Ji [Xing Xing]
Man Guan Fu Xing [Xing Xing]
WonderLeague Star [David Haywood, Brian Troha]
Dance Maniax [smf]
Guitar Freaks 3rd Mix [smf]


Note to OSD porters: several OSD-related changes are in this build.
Many options in the system are now defined by the core and looked up
using the options_* functions. This should allow a bunch of code to
be removed from most OSD ports. In addition the mame_file_error type
has been renamed to file_error, so a little search & replace action
is necessary.

MAMETesters Bugs Fixed
neogeo0113u1red [Zsolt Vasvari]

Source Changes
Updated a number of Sega games to use the new video timing code.
[Zsolt Vasvari]

Added very preliminary SSP1610 CPU core. [Pierpaolo Prazzoli]

Created a utility call win_is_gui_application() to determine if the
current process is a console or a non-console application. Added a
call to direct error output to message boxes if MAME is running as a
windows application (such as MAME32). This will allow MAME32 failures
to be reported to the user rather than silently fail. [Nathan Woods]

Updated NeoGeo driver to the new video timing code and raw screen
parameters. [Zsolt Vasvari]

Firebeat driver updates: [Ville Linde]
- Fixed the hardware error in Keyboardmania 2nd mix
- Added iButton for Keyboardmania
- Hooked up inputs for Pop'n Music 7

Updated Gridlee and Bally/Sente driver to use new video timing code
and raw screen parameters. [Zsolt Vasvari]

Created a UTF-8 wrapper for the Win32 API GetModuleFileName().
[Nathan Woods]

Updated Voodoo-based games to use the new video timing code and newer
MAME timers. [Zsolt Vasvari]

Major cleanup/rewrite of the Ultra Tank driver. [Stefan Jokisch]

Update to Sprint 4. This fixes the gear shift levers which were broken
with a recent previous change, and improves a few other bits.
[Stefan Jokisch]

Added back joystick deadzone handling behind a compile-time define as
a pattern for other OSD ports. [Derrick Renaud]

Implemented the mw8080bw interrupt generation more to how the real
hardware works (equivalent result as before). Added detailed
description of the video timing and the interrupt generation systems.
[Zsolt Vasvari]

Fixes cdp1869 double width mode (for MESS). [Curt Coder]

Removed stupid sprite hack from Riddle of Pythagoras. [David Haywood]

Updated Starfire driver to use video timing from schematics.
[Zsolt Vasvari]

Some more 8080bw fixes: [Zsolt Vasvari]
- fixed Lupin III crash due to invalid sample.
- added video timing from mw8080bw. This caused the visible areas of
most games to change, so they will fail regression.
- Shuttle Invaders display is shifted off screen now – but the PCB
notes confirm that it’s a different hardware, so it will need its
own driver anyhow.
- created a new file for MB14241, which is the shifter IC used by
Invaders hardware games.

Renamed mame_file_error to file_error, since it is used throughout
the code including the utilities. [Aaron Giles]

Added stronger priority boosting when sleeping on Windows in the hopes
of getting more consistent frame rates. [Aaron Giles]

Added remaining Unicode characters up to 0100h in the built-in font.
[Aaron Giles]

Added a 'flags' parameter to osd_work_item_queue() and defined one
new flag: WORK_ITEM_FLAG_AUTO_RELEASE, which means that the work item
should be automatically released when completed. [Aaron Giles]

Changed the Windows OSD work code to only allocate events for items
when necessary, in order to conserve system resources. [Aaron Giles]

Changed refresh and VBLANK timing parameters throughout the system to
be specified in subseconds_t instead of as floating point frequencies.
[Aaron Giles]

Updated video timing in the Midway V-unit driver. [Aaron Giles]

Changed gaelco3d driver to use osd_work_items for rendering, allowing
multi-CPU systems to shift most of the rendering burden to a second
CPU. [Aaron Giles]

Moved support for the following options into the core: [Aaron Giles]
-state <x>
-playback <file>
-record <file>
-mngwrite <file>
-wavwrite <file>
-brightness <x>
-contrast <x>
-gamma <x>
-pause_brightness <x>
-beam <x>
-flicker <x>
-volume <x>
-debugscript <file>
-bios <x>

Cleaned up the Food Fight driver, giving it complete memory maps,
finished implementing sprite/playfield priorities, and corrected
timing - sort of. [Aaron Giles]

Cleaned up initialization paths in mame.c. Tried to organize things
a bit more logically. Removed a number of return codes in favor of
more descriptive fatalerror messages. [Aaron Giles]

Changed throttling behavior to only throttle on non-skipped frames.
This should give a little better performance on games where
frameskipping is necessary. [Aaron Giles]

Added srcclean tool to the tools directory. This is the tool that is
run over the source before each release to do some minor code tidying.
[Aaron Giles]

Added new driver flag VIDEO_SELF_RENDER which indicates that the
driver will talk to the renderer on its own in its VIDEO_UPDATE
callback. Added the flag to all the laserdisc game drivers. Changed
the logic in the core video to only empty screen containers when
doing the final render, rather than emptying them at the start of
each frame. [Aaron Giles]

Changed pause behavior so that on non-debug builds, we simply keep
the most recent list of primitives and re-render that. Debug builds
keep the current default behavior which is to run the VIDEO_UPDATE
code each frame even while paused in order to help identify issues
in the emulation. [Aaron Giles]

New clones added
ParaParaParadise v1.1 [Ville Linde]
Sky Robo [Stefan Lindberg]
Captain America and The Avengers (US Rev 1.4) [chaneman]
Hex Pool (Senko) [Pierpaolo Prazzoli]
Daytona USA (With Saturn Adverts) [Guru, David Haywood]

New games marked as GAME_NOT_WORKING
Motoraid [Guru, David Haywood]


NOTE TO OSD PORTERS: There are some major changes happening in this
version. Most importantly, throttling and frameskipping are now part
of the core. Please read the whatsnew carefully!

MAMETesters Bugs Fixed
janptr96_0110u4gra [Mike Ellery]
dokidoki0111u5gra [Mike Ellery]

Source Changes
Began converting drivers over to the new more accurate video timing
functions (video_screen_* functions instead of cpu_*). This first
batch includes all the games using the TMS34010 chip and the Atari
games that use atarigen.c. [Zsolt Vasvari]

Fixed Windows-isms in regrep.c. [couriersud, Aaron Giles]

Improvements to the kaneko driver. All the protection data should be
correct now. [Sebastien Volpe]

Added DIP switch locations based on information from the manuals for
the following drivers: Karnov, Magmax, Omega Race, Spiders, Bagman,
and Bank Panic. [Justin Szczap]

Added a call winwindow_ui_exec_on_main_thread() to allow code on the
window thread to cause a function to be executed on the main thread.
[Nathan Woods]

Fixed a crash when verifying samples when a sample has a NULL name.
[Nathan Woods]

Built the iButton data for keyboardmania 2nd mix and Pop'n Music 7.
With this update Pop'n Music will also show the self tests.
[Ville Linde]

Properly fixed tile flipping in Mustache Boy. [David Haywood]

Built iButton data for ppd. [Ian Patterson]

Fixed the rest of the Atari games and the Cinematronics CCPU games to
use the newer video timing system. Also fixed reset problem in
Destroyer. [Zsolt Vasvari]

Fixed sample audit to report all missing samples. [BUT]

Marked unknown dips for 005 according to manual. [Mike Ellery]

Updates drivers from C-E to use the newer video timing system.
[Zsolt Vasvari]

Fixed timer dipswitch in Alien Syndrome set 1. [Don Maeby]

Moved throttling, frameskipping, fast forwarding, and timing into the
core. Removed the equivalent code from the Windows OSD layer. This
now relies on options being set for controlling these features by the
OSD layer via options.c. Deprecated the old osd_get_fps_text()
function. Changed osd_update() to take a parameter indicating whether
or not the frame was skipped. Added new function osd_sleep() to the
OSD core timing library. [Aaron Giles]

Added a new mechanism for building in fonts. A new tool, png2bdc can
convert a specially formatted PNG file into a binary cached MAME font.
This cached font can be embedded into MAME. A new default small UI
font is now included, and built via this process to replace the old
hard-coded one. The new font is proportional, so there is better use
of limited screen real estate in small video modes. Some balancing/
tweaking of the actual font still needs to be done, and some basic
functionality still needs to be added to png2bdc. Consider this a
work-in-progress. [Aaron Giles]

New clones added
A Question of Sport (39-960-089) [Highwayman]

New games marked as GAME_NOT_WORKING
Megatouch 6 [chaneman]