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 self-tests. 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] 0.113u4 ------- 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] 0.113u3 ------- 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] 0.113u2 ------- 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 -autosave -playback -record -mngwrite -wavwrite -rotate -ror -rol -autoror -autorol -flipx -flipy -artwork_crop -use_backdrops -use_overlays -use_bezels -brightness -contrast -gamma -pause_brightness -antialias -beam -flicker -sound -samples -volume -ctrlr -log -debug -debugscript -bios -cheat -skip_gameinfo 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] 0.113u1 ------- 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]