0.108 ----- MAMETesters Bugs Fixed ---------------------- darius2056gre [robiza] Source Changes -------------- Fixed bug that prevented in-game MNG recording from working. [Rene Single] Added more extensive documentation to several of the Sega 16-bit drivers. [Brian Troha] Fixed color decoding in Cheeky Mouse. [Nicola Salmoria] Improved DIP switches for headoni and spacbeam. [wolf676] More debugger comments fixes: [Andrew Gardner] - adding a comment no longer redefines the disasm range. - comments properly save and load special characters (&,", etc) Added sample_get_base_freq() to allow for querying to the base frequency of samples. [Aaron Giles] More G80 work: [Aaron Giles] - finished video cleanup - fixed Space Odyssey controls - added crude support for Astro Blaster attack rate - hooked up 005 melody generator, but missing sound PROM - finished sound cleanup Changed debugger to default to 'on' in debug builds. [Aaron Giles] New games added or promoted from NOT_WORKING status --------------------------------------------------- Konek-Gorbunok [Eugene Sandulenko] New clones added ---------------- Teenage Mutant Hero Turtles (UK 2 Players, set 2) [Patrik Styrnell] Teenage Mutant Hero Turtles - Turtles in Time (2 Players ver EBA) [Patrik Styrnell] Wonder Boy (set 4) [Nicola Salmoria] 0.107u4 ------- MAMETesters Bugs Fixed ---------------------- mngrecording0107u1ora [Aaron Giles] vectorsnapshot0107u1red [Aaron Giles] tdfever087u4gra [Canim] quizmeku087u4gra [Canim] Source Changes -------------- Fixed the dips for Apache 3 and Dark Mist. [Brian Troha] Added built-in overlays for clowns and maze. [Mr. Do!] Converted Final Romance 2 to be dual screen. [David Haywood] Converted the VFD display in the BFM games to use a second screen rather than hacking onto the main screen. [El Condor] Fixed detection of left/right modifier keys when paused. Also added support for recently added keys so they are detected by MAME when paused. [Ben Rudiak-Gould] Changed render_target_alloc() to take a bitmask of flags. In addition to loading a single file, targets can also be marked "hidden", and only non-artwork views can be made visible. [Aaron Giles] Added new render target layer config flag to disable screen overlays. [Aaron Giles] Changed snapshot taking code to render the particular screen to a temporary render target. This allows vector games to have snapshots again. [Aaron Giles] Normalized the naming of several functions in video.c, most importantly: [Aaron Giles] force_partial_update -> video_screen_update_partial configure_screen -> video_screen_configure set_visible_area -> video_screen_set_visarea Added new functions that do accurate per-screen timing based on video parameters: [Aaron Giles] video_screen_get_hpos video_screen_get_vpos video_screen_get_hblank video_screen_get_vblank video_screen_get_time_until_pos Fixed bug that caused the VIDEO_EOF to be called repeatedly while in the debugger. [Aaron Giles] Split render.c into rendutil.c, rendlay.c, and render.c to keep the code more organized. [Aaron Giles] Abstracted the notion of outputs. A new module, output.c, now controls all outputs. Each output is tagged with a name; some standardization eventually needs to happen on these names, but at the moment it's fully open. The OSD layer can register with output.c to be notified when outputs change. From there, it is free to do what it wants. LEDs have now been converted to outputs with the name "led0", "led1", etc. [Aaron Giles] Added support for notifying external clients of changes in output states in the Windows OSD system. See windows/output.h for a list of messages that external clients can register to receive. Removed the built-in hacky LED support in the Windows OSD layer. Created a sample application ledutil.exe which subscribes to the external events and routes the "led0", "led1", and "led2" outputs to the keyboard LEDs just like before. If you want to continue to have LED support, simply copy ledutil.exe into your startup folder and let it run in the background. [Aaron Giles] Modified the Q*Bert driver to signal a "knocker0" output when the knocker is triggered. [Aaron Giles] Added new layout element component type "text", which lets you draw text in the built-in MAME font onto an element in a layout. This can be used for basic lamps and built-in layouts. See maxaflex.c for an example. [Aaron Giles] Added new layout element component type "led7seg", which constructs a 7-segment LED in an element in a layout. This is commonly used for external score and timer displays. See maxaflex.c for an example. [Aaron Giles] Added built-in layouts for Turbo, Subroc 3D, Buck Rogers, Atari Football, Atari Baseball, and Super Speed Racer using the new primitives. [Aaron Giles] Fixed overflow computation in the S2650 core. [Aaron Giles] More Sega G-80 raster cleanup: [Aaron Giles] * consolidated the video hardware implementations * fixed cocktail mode video and controls in all games * fixed Monster Bash (2 board version) video * revived Sindbad Mystery and fixed sound chip frequencies New games added or promoted from NOT_WORKING status --------------------------------------------------- Trivia Quest [Pierpaolo Prazzoli] SunA Quiz 6000 Academy [David Haywood] New clones added ---------------- Zero (set 2) [David Haywood] 0.107u3 ------- MAMETesters Bugs Fixed ---------------------- pignewt0106u3gre [Aaron Giles] ui_draw_text0.107u2red [Aaron Giles] blueprnt0107u2red [Aaron Giles] Source Changes -------------- Improved DIP switches in benberob. [Brian Troha] Added support for real Bubble Bobble MCU. [Trinity, Nicola Salmoria] Fixed track lookup implementation in Virtua Racing, bringing the game much closer to playable. [Olivier Galibert] Minor cleanup and speed hack removal in the konamigx.c [R. Belmont] Improved magicfly driver. All graphics are properly decoded / banked now. [Roberto Fresca] More improvements to the 6840 timer module. Updated the MPU4 driver to the most recent implementation. Convert Cosmic Chasm over to using the new system. [El Condor] 65816/377xx update: [R. Belmont] * Made block transfer instructions interruptable as they are on both actual chips (previously a single opcode could eat >400,000 cycles with obvious consequences for interrupt timing) * M377xx block transfers move one less byte than the 65816, fixed Adjusted the DAC sound level on the 2612 to something more reasonable. [David Haywood] Taito JC update: [Ville Linde] * Some general improvements to the driver * Added some more opcodes to the TMS320C51 core Improved the M2 driver so that the M2 kernel starts to boot, but it hangs quite soon due to some multiprocessor issues. [Ville Linde] Updated several games' input ports to use IPT_BILL1 for bill acceptors. [ClawGrip] Properly documented and connected the MCU code in the Namco System 1, System 86, Baraduke, Pacland, and Sky Kid drivers. [Brian Troha] Renamed "Native" views to "Pixel Aspect" views to avoid the confusion that they are anything but artificial aspect ratios. [Aaron Giles] Added beam width control to the UI sliders. [Aaron Giles] More Zaxxon driver cleanups/fixes: [Aaron Giles] * fixed sound problems in Razmataz * corrected background and sprite positioning * fixed bugs introduced in sample handling * bootlegs and alternate versions work again * added state saving support to the Sega universal sound board Added several common generic graphics layouts to vidhrdw/generic.c, for use by multiple drivers. [Aaron Giles] Added new option -video none which can be used for CPU benchmarking without the overhead of the video system. [Aaron Giles] Fixed remaining crashes in GDI/ddraw mode when drawing vector games. [Aaron Giles] Removed the -artwork option to avoid confusion. If you want to run without any artwork, use -view standard instead. [Aaron Giles] Added options -screen, -aspect, -resolution, and -view which apply to all windows. These values can be individually overridden for each specific window by using the existing -screen, -aspect, -resolution, and -view options. [Aaron Giles] Fixed bug that caused the sound sampling code to not track changes in the refresh rate. [Aaron Giles] Began cleanup/rewrite of the Sega G-80 raster games. This is still very much a WIP, so don't report any bugs: [Aaron Giles] * cleaned up input port handling similar to the G-80 vectors * proper clock and video speeds * reimplemented Space Odyssey background including collision detect * fully implemented Pig Newton background * connected 2-board Monster Bash more correctly Added new macro PORT_SERVICE_DIPLOC for specifying a PORT_SERVICE and a DIPLOCATION. [Aaron Giles] New games added or promoted from NOT_WORKING status --------------------------------------------------- Trivia ? Whiz (Edition 3) [Pierpaolo Prazzoli] Legend of Heroes [Pierpaolo Prazzoli] Super Bubble 2003 [Pierpaolo Prazzoli] Dambusters [Norbert Kehrer] Catacomb [Mike Coates] New clones added ---------------- Galaga (Midway set 1 with fast shoot hack) [David Widel] Versus Net Soccer (3 new versions) [R. Belmont, f205v] Ace Attacker (System 16A) [Arzeno Fabrice] Arm Champs II v2.6 [Gerald Coy] New games marked as GAME_NOT_WORKING ------------------------------------ Casino 5 [Pierpaolo Prazzoli] 0.107u2 ------- MAMETesters Bugs Fixed ---------------------- savestate0104u7ora [Adam Bousley] ripoff097gre [Adam Bousley] cuebrckj0104u2gra_fix [Canim] Source Changes -------------- Massive cleanup/fixing of 16-bit Sega drivers: [AWJ] * many corrections to descriptive set names, adding revision letters, cabinet types, etc. * fixed many DIP switches and added PORT_DIPLOCATION support * adjusted min/max values for analog controls to improve response * fixed button ordering between System 16A/B * cleaned up a number of ROM names and fixed some incorrect guesses * some cleanup of turbo.c as well * fixed visible area in Hang-On hardware * actually disabling 8751 in games that have a fake replacement * hooked up 8255 PPI correctly now that it has mode 2 support * fixed behavior of NMI line in later sega sound boards * fixed addressing in the SegaPCM sound system * some hardware/documentation cleanup Some cleanups in the new UI/video code to make MESS happy. [Nathan Woods] Added macros to prevent use of strcasecmp and strncasecmp for better cross-platform compatibility. [Nathan Woods] Connected unimplemented opcode $01 on the 6809 core. [Antoine Mine] Implemented CNT pin and some serial features of the 6526 CIA chip. [Nathan Woods] Mapped service button in slammast. [Canim] Fixed bug in 8039 CPU handling of A11 latch. [Aaron Giles] Rewrote Zaxxon driver from the schematics. This is still a WIP (not finished yet): [Aaron Giles] * correct clock speeds and video timing * complete memory maps * connected universal sound board to Ixion and Razmataz * simplified video code and merged common cases together * palette derived from resistor weights * background positioning still a little off Added service_coin_lockout_w() to lockout service coins. [Aaron Giles] Added MDRV_SCREEN_RAW_PARAMS() which lets you specify a pixel clock, horizontal, and vertical video timing values in place of the usual screen size, visible area, refresh rate, and VBLANK timing values. [Aaron Giles] Fixed bug that prevented save/restore from working in the UI. [Aaron Giles] Changed mode selection logic so that refresh is weighted more strongly when picking a mode. This allows you to specify -resolution 0x0@60 to force MAME to pick a 60Hz screen refresh while allowing it to choose the best resolution. [Aaron Giles] New clones added ---------------- Viper Phase 1 (World, New Version) [Corrado Tomaselli] Wonder Boy in Monster Land (Galaxy Electronics English bootleg) Gals Panic II (Asia) [Patrik Styrnell] 0.107u1 ------- MAMETesters Bugs Fixed ---------------------- timecrsa0100u1gra [Luigi30] inputduplication0106u7gra (nyny, joust, lghost, hyhoo) [Luigi30] lastduel0106u7gra [Luigi30] jdreddp0106u1gra [Luigi30] bzone0104u7gra [Aaron Giles] pturn0104u7gra [ShimaPong] tsamurai0103gra [Aaron Giles] pause0102gra [BUT] mameini0107ora [Aaron Giles] omegafc0107yel [Aaron Giles] s2650_0106u11ora [Minuous] syvalion0107yel [Aaron Giles] congo0107red [Aaron Giles] Source Changes -------------- Removed hard core dependency on samples. [Andrew Gardner] Added what seems to be a proper fix for the background transparency flag that was needed by champbwl to show the green background. [Pierpaolo Prazzoli] Updates to the MagicFly driver: [Robert Fresca] - Figured out the MC6845 (mapped at $0800-$0801) - Fixed the screen size based on MC6845 registers. - Fixed the visible area based on MC6845 registers. - Corrected the gfx rom region. - Solved the NMI/vblank issue. Now attract works. - Changed CPU clock to 625khz. - Added new findings to the technical notes. - Marked magicfly PAL as NO_DUMP (read protected). Fixed memory write ordering bug in the 68000 core. [Charles MacDonald] Added some PPC602 specific opcodes and registers. [Ville Linde] Removed NEW_RENDER definition and all support for the old rendering system from the core. Cleaned up a bunch of useless and deprecated code as a result. [Aaron Giles] Massively rewrote the user interface to rely on the new rendering systems. Broke the UI into multiple pieces (ui.c, uimenu.c, uigfx.c). The code is now verging on readable. [Aaron Giles] Renamed ui_popup to popmessage across the code, and implemented popmessage in mame.c. This breaks the dependency between the core driver code and the user interface in almost all cases. [Aaron Giles] Added a red background to serious warning messages in the vain hope that people might take better notice. [Aaron Giles] Fixed vector game crashes with DirectDraw rendering. [Aaron Giles] Consolidated live screen parameters into a screen_state structure. Machine->visible_area[num] is now Machine->screen[num].visarea. Machine->refresh_rate[num] is now Machine->screen[num].refresh. [Aaron Giles] Added new function configure_screen() which can control the width, height, visible area, and refresh rate of each screen. This function allows for widths and heights larger than what were specified in the game driver, so you no longer have to specify the maximum width and height in the driver, but can instead specify a typical width and height. This function supercedes the old set_visible_area() and set_refresh_rate() functions. The former has been rewritten to call configure_screen(), while the latter has been removed entirely. [Aaron Giles] Changed the behavior for supporting overscan and other effects. The width and height of a screen control the overall bitmap size. The visible area of a screen specify its non-blanked boundaries (and default visible area, as before). [Aaron Giles] Moved line-to-quad conversion routine into the core render.c as another utility function. [Aaron Giles] New games added or promoted from NOT_WORKING status --------------------------------------------------- TomCat (Star Wars hardware, prototype) [Mathis Rosenhauer] Poke Champ [David Haywood] New clones added ---------------- Dungeons & Dragons: Shadow over Mystara (Brazil 960223) [Brian Troha]