0.129 2009/01/04 [#468 - Aaron Giles] ------------------------------------- MAMETesters Bugs Fixed ---------------------- - 01092: [Crash/Freeze] debugger crashes when exiting during "run to cursor" (robiza) - 01437: [Sound] hardhead: MAME has the clock frequency of the YM3812 wrong. (Phil Bennett) - 01961: [Crash/Freeze] jdreddp: [debug] Access Violation when loading savestate with -autosave and -debug (Aaron Giles) - 02012: [Crash/Freeze] fatalerror with "symlist" while running game (Aaron Giles) - 02104: [Crash/Freeze] metlhawk, metlhwkj: Crash while decoding with '-debug' trigger (Aaron Giles) - 02141: [Crash/Freeze] sunaq: At the Title, Game is Crash (Aaron Giles) - 02186: [Misc.] vliner, vlinero: Typo of manufacturer (Phil Bennett) - 02575: [Misc.] taitogn: Not marked as bios in -listxml (Aaron Giles) - 02644: [Gameplay] tdragon, tdragon1, hachamf: Coin counter doesn't decrease (Angelo Salese) - 02676: [Color/Palette] All Laserdisc Games: Wrong colors using Direct3D on ATI cards (Aaron Giles) - 02714: [Sound] 3stooges: Speech works for a while, then starts going in and out of horrible noise and static (Aaron Giles) - 02738: [Documentation] zoar: The ROM marked as bad dump is not bad (Aaron Giles) - 02742: [Crash/Freeze] xsleena and clones: Game freezes (Mamesick) - 02747: [Compiling] Compile error on openSUSE 11.1 / gcc 4.3.2 with OPTIMIZE=3 (Aaron Giles) - 02758: [Compiling] linking ldplayer fails (Aaron Giles) - 02760: [Crash/Freeze] Games using MC6845: Crash with an error on startup before OK (Phil Bennett) - 02761: [Crash/Freeze] cntrygrl: [debug] Access Violation (Phil Bennett) - 02762: [Crash/Freeze] galkaika, galkoku, hyouban, mcontest, tokimbsj, tokyogal, uchuua: Access Violation (Phil Bennett) - 02763: [Crash/Freeze] some leland.c sets: Access Violation (Phil Bennett) - 02764: [Crash/Freeze] liberatb: [debug] Access Violation (Atari Ace) - 02765: [Crash/Freeze] all naomi.c sets: Assertion (Aaron Giles) - 02766: [Crash/Freeze] topgunnr: Hangs (Phil Bennett) - 02768: [Documentation] mk3, mk3r20, mk3r10, mk3p40, umk3, umk3r10, umk3r11 : Roms incorrectly named as umk3 instead of mk3 + two versions of U2 SOUND ROM (Aaron Giles) - 02770: [Crash/Freeze] aceattac: Interger Overflow (Aaron Giles) - 02771: [Crash/Freeze] all ddragon3.c, shadfrce.c and wwfsstar.c sets: [debug] Assertion (Mamesick) - 02772: [Crash/Freeze] hanayara: [debug] Access Violation (Phil Bennett) - 02773: [Crash/Freeze] all gamecstl.c sets: [debug] Assertion (Aaron Giles) - 02776: [Crash/Freeze] mwalk, mwalkj, mwalku: Crash when starting game (Aaron Giles) - 02779: [Crash/Freeze] sfiii2j: Access Violation with -debug (Aaron Giles) - 02780: [Crash/Freeze] nss_smw: Integer Overflow with -debug (Aaron Giles) - 02781: [Documentation] mt_mwalk: Change title to "Michael Jackson's Moonwalker (Mega-Tech)" (Aaron Giles) - 02782: [Crash/Freeze] swa: [debug] Access Violation with -debug (Aaron Giles) - 02783: [Crash/Freeze] SMS-Based megatech.c sets: [debug] Access Violation with -debug (Aaron Giles) - 02785: [Crash/Freeze] a51site4: Interger Overflow with -debug (Aaron Giles) - 02788: [Misc.] jjack, dorunrun and clones: Immense emulation speed drop (smf) - 02790: [Core] Mame will crash on single monitor system if set to numscreens 2 in the *.ini (Aaron Giles) - 02791: [Crash/Freeze] cafetime: Access Violation with -debug (Phil Bennett) - 02793: [DIP/Input] funkyjet: Unable to locate input port 'P1' (Phil Bennett) - 02799: [DIP/Input] mace: No player 2, button 4 available for mapping (Phil Bennett) New games added or promoted from NOT_WORKING status --------------------------------------------------- Barline [David Haywood, Angelo Salese] Cherry Bonus III (Version 1.40, 2 sets) [Roberto Fresca] Cherry Bonus III (version 1.40, encrypted) [Andreas Naive, Roberto Fresca] Cherry Master (Corsica, ver.8.01) [Roberto Fresca] Cherry Master (ver.4) [Roberto Fresca, David Haywood] Cherry Master I (ver.1.01) [Roberto Fresca, David Haywood] M.A.C.H. 3 [Aaron Giles, Bobby Tribble] Mahjong Jong-Tei [Luca Elia] New Lucky 8 Lines (2 sets) [Roberto Fresca] Soul Calibur [Olivier Galibert] Turbo Sub (2 versions) [Phil Bennett] Us vs. Them [Aaron Giles, Smitdogg] Ying Hua Lian 2.0 [Luca Elia, Angelo Salese, David Haywood] New clones added ---------------- 9-Ball Shootout Championship (not working) [David Haywood] Dogyuun (Licensed to Unite Trading For Korea) [Smitdogg] Don Den Lover Vol. 1 (Korea) [Luca Elia] DownTown / Mokugeki (Joystick Hack) [Corrado Tomaselli] New Lucky 8 Lines (set 2) [Roberto Fresca] Phraze Craze (set 2) [David Haywood] Pit Boss (Set 2) [David Haywood] R-Type (world, bootleg) [mameitalia] Show Hand (China) [Luca Elia] Space Echo (set 2) [Roberto Fresca] Thunder Cross II (World) [Stefan Lindberg] Trivia ? Whiz (Edition 2) (question set 2) [David Haywood] Trivia ? Whiz (Edition 3 - Horizontal) (set 2) [David Haywood] Trivia ? Whiz (Edition 4) (question set 2) [David Haywood] Trivia ? Whiz (Horizontal) (question set 3) [David Haywood] Vamf x1/2 (Europe) [Smitdogg] New games marked as GAME_NOT_WORKING ------------------------------------ AV Hanafuda Hana no Ageman [Angelo Salese] AV Hanafuda Hana no Christmas Eve [Angelo Salese] Bingo Circus [David Haywood, Angelo Salese] Cherry Chance [David Haywood, Angelo Salese] Cross Bingo [f205v] Dancing Stage Euro Mix [smf] Landing High Japan [Ordyne, Phil Bennett] Lucky Girl [David Haywood] Magic Card [Roberto Fresca, David Haywood, Angelo Salese] Mahjong Cafe Break [Guru] Mahjong Gaiden [David Haywood] Mahjong Senka [Angelo Salese] Mahjong Yarou [Angelo Salese] Merit Poker [David Haywood, Angelo Salese] Night Bunny / Royal Night [David Haywood, Angelo Salese] Night Gal [David Haywood, Angelo Salese] Night Gal Summer [David Haywood, Angelo Salese] Operation Tiger [Chris Hardy, Phil Bennett] Sexy Gal / Sweet Gal [David Haywood, Angelo Salese] Slot Carnival [David Haywood, Roberto Fresca] Status Black Jack [Angelo Salese, Roberto Fresca] X Se Dae Quiz [David Haywood] Source changes: --------------- - Significantly optimized the inner execution loop. arknoid2 is ~2.5x faster with maximum interleave now [Aaron Giles]. - CPU interface organization shuffle. The file cpuintrf.h now merely describes the interface, but does not contain any implementation. All remaining bits of implementation have been migrated either to cpuexec.c or to debugcpu.c. Specifically, cpu_dasm() is now debug_cpu_disassemble(), and cpu_set_dasm_override() is now debug_cpu_set_dasm_override(). Also moved memory_address_physical() to debug_cpu_translate(), since it was only ever used for debugging [Aaron Giles]. - Changed all CPU and sound cores to use memory_find_address_space() instead of cpu_get_address_space(). The former is reliable even during early initialization when the CPU cores generally need it [Aaron Giles]. - Removed the dummy CPU core and cpuintrf.c [Aaron Giles]. - Changed the core execution loop to directly call the execute function instead of using the inline helper (which has been removed) [Aaron Giles]. - Virtual Combat improvments [Jason Eckhardt, Andrew Gardner]: * Improved memory map. * Fixed the palette. - Turned on perfect interleave for remaining tnzs games, and for qix hardware games [Aaron Giles]. - Perfect synchronization for thunderj, which has always been iffy. Removed synchronization hacks. [Aaron Giles]. - Updated wc90b2 to use newly-dumped roms [robiza]. - Changed the F3853 implementation into a device [Wilbert Pol]. - Cleaned up the SID interface [Wilbert Pol]. - Put some namcos21 logging behind a (disabled) compile-time define [Aaron Giles]. - Converted 68000 core to use state tables [Aaron Giles] - Corrected cpu_attotime_to_clocks() calculation [Phil Bennett]. - Correctly setup the MC6845 device in the rockola, usgames, coinmstr, carrera drivers [Phil Bennett]. - Added proper inputs to Jongkyo [Angelo Salese]. - Added extremely preliminary i860 disassembler and hooked it up to the vcombat driver [Jason Eckhardt, Andrew Gardner]. - Cleaned up cycle handling in the 68k core [Aaron Giles]. - Updated all the sound core header files to declare their SND_GET_INFO functions, which will be needed once the sound cores become proper devices. It also makes a handful of other header declaration fixes in emu/sound, and makes one SND_RESET routine static. Note: votrax.h is a new include file altogether [Atari Ace]. - Converted the following drivers to use scanline interrupts, partial updates, and raw video parameters [Mamesick]: * ddragon * gstream * vball * xain * chinagat - Replaced the bad (likely hacked) Gururin dump with a fresh one, and fixed some ROM names in Double Axle according to the PCB [Smitdogg, Guru]. - Cleaned up mcs48 to be dependent on a single makefile define, rather than separate defines for each CPU which didn't really buy us anything in terms of code size or performance. [Aaron Giles] - Correctly setup the MC6845 device in the Funworld driver. Added common device interface and eliminated the screen size & visible area parameters to 'Magic Card 2' [Roberto Fresca]. - Correctly setup the MC6845 device in the Goldnpkr driver. Added common device interface, merged witchcrd and sloco93 machine drivers, and added/corrected the 50/60 Hz. DIP switches to all games. The 50hz mode needs to be corrected. Some games as most bsuerte sets have the 50/60Hz. DIP switch connection patched [Roberto Fresca]. - Correctly setup the MC6845 device in the Calomega driver. Added common device interface [Roberto Fresca]. - Fixed crash when mouse-clicking without a valid mouse_target set (typically after startup when no mouse movement events have occurred) [Phil Bennett]. - Improvements to lucky8 [Roberto Fresca]: * Fixed memory map. * Fixed NVRAM. (please delete the old .nv) * Added sound through sn76496. * Added 3x PPI 8255. * Created basic inputs from the scratch to match the PPI connections. * Defined the output port. * Change description to "New Lucky 8 Lines" * Change manufacturer to Wing Co.Ltd. * Added an alternate set. - Fixed Top Landing ADPCM ROM loading [Phil Bennett]. - Fixed Cherry Bonus III and Cherry Bonus III (Version 1.40) colors [Roberto Fresca]. - Added preliminary sound & colors to the Mahjong Shiyou driver, game now throws a sound error. Merged Mahjong Shiyou to the Royal Mahjong driver, graphics are improved because of that [Angelo Salese]. - Fixed ddrago3p gfx ROM loading [Creamymami]. - Cherry I Gold improvements [Roberto Fresca]: * Completed the missing inputs. * Mapped 4 of the 5 DIP switches banks. (can't find the 5th) * Worked out the conditional DIPs. * Documented all DIP switches bank. * Added PORT_DIPLOCATION to all switches. - Cherry Bonus III (Version 1.40) improvements [Roberto Fresca]: * Worked the remaining inputs. * Mapped and documented all 5 DIP switches banks. * Worked out the conditional DIPs. * Added PORT_DIPLOCATION to all switches. The game is working, but need a workaround for the status connection. Each time the player press 'Take' to get the credits, a "call attendant" msg appear and credits must be taken pressing 'Key Out'. - Improvements to New Lucky 8 Lines [Roberto Fresca]: * Proper 3x PPI 8255 connections. * Created a new AY8910 interface due to different ports addressing. * Hooked all the input banks (8). * Improved DIP switches with main game and D-UP rates, keyin values, D-UP game type (reels/cards) and other options to both sets. * Added PORT_DIPLOCATION to all DSW banks. * Promoted both sets to working state. The game has 2 sets of controls. Once coined, both players can switch control through their own 'BIG' key. If the game boots with 'Coin Jam' error, press RESET to normalize. Please delete your old .nv and .cfg files before run this update. - Improved colors of 'New Lucky 8 Lines' [David Haywood]. - Implemented GTE divider using reciprocal table derived by pSXAuthor, this should allow the results to be calculated as inaccurately as the real hardware [smf]. - Fixed AT28C16 so that a write isn't allowed to start if there is one in progress and a write isn't started if the data is already correct. This allows my dream horse to boot again. Further investigation is needed [smf]. - Maps all docastle.c games' third CPU ROM to 0x0000 so that MAME doesn't log unmapped reads constantly [smf, David Haywood]. - Improvements to goldstar.c driver [Roberto Fresca]: * Added another set of 'Cherry Bonus III'. * Reworked and cleaned ncb3, cb3a, lucky8 and lucky8a inputs. * Added the 2nd set of controls to the above games. * Removed the OKI references from machine driver and ROM load for the above games. * Promoted ncb3 and cb3a to working status. * Reparented sets. - Wrote a placeholder driver for an unknown "fruit" ROM set. Anything might be wrong about it... [David Haywood, Angelo Salese]. - Improved bishjan.c [Luca Elia]: * Converted the tilemaps chip to an 8-bit bus width, and added 16-bit handlers using the macros in memconv.h. * Improved bishjan memory map. * Implemented line scroll emulation. - Merged i8x41 (UPI-41) core into MCS-48 core [Aaron Giles]: * All code now lives in mcs48.c. * Rewrote disassembler as unified MCS-48/UPI-41 disassembler * Changed UPI-41 interfaces to m match MCS-48. * Added new master read/write interfaces for external access. * Unified interface to 8243 expander chip. * Converted tnzs and decocass to the new interfaces. - DECO Cassette fixes/cleanups [Aaron Giles]: * Converted tape handling to a device. * Changed tape handling to use a timer callback. * Updated to work with new UPI-41 core. * Corrected clock speeds for all chips (esp. the 8041). * Fixed very wrong CRC implementation (how did it ever work?). * Corrected sound IRQ rate. * Corrected video timing. - Burger Time hardware fixes [Aaron Giles]: * Corrected sound IRQ rate and handling * Removed lnc audio reset hack. * Full audio memory maps based on schematics. * Corrected video timing. - Disassembled PCs are now forcibly aligned to the minimum opcode size and explicitly masked [Aaron Giles]. - Normalized the CPU cores to always do while (icount > 0), in order to remove the kludge in cpuexec.c that caused us to overeat by 1 cycle to accommodate those cores that there looping while (icount >= 0) [Aaron Giles]. - Fixed System 18 rendering so that System 16 sprites don't attempt to shadow VDP pixels (causes crash downstream in debug builds) [Aaron Giles]. - Hooked up DSA/ESA instructions for PowerPC 602 (as no-ops for now). Also hooked up PPC602 IBR. polystar gets a little farther but crashes due to a TLB issue [Aaron Giles]. - Removed HAS_PPC* in favor of a single HAS_POWERPC, and a single definition in cpu.mak for all PowerPC variants [Aaron Giles]. - Made xsleena run at perfect interleave and simplified the shared RAM. Also moved to modern banking and cleaned up memory maps a bit [Aaron Giles]. - Added two new Windows OSD options: -debugger_font and -debugger_font_size, which control the font and size used in the debugger text Windows. These default to "Lucida Console" and 9pt, which is the same face as previously hard-coded but 1pt larger. Personally, I prefer "Consolas" 9pt, which is one of the new "C" fonts included with Windows Vista and later (also available for free download on older systems). Note that only fixed-width fonts really work here, for obvious reasons [Aaron Giles]. - Added new frontend option -listbrothers. This will list all "brothers" of a given driver, meaning those drivers that come from the same source file, along with their parent names if they are clones. If a wildcard name is specified for the driver, then the first driver in a given source file will trigger a list of his brothers, and any other drivers in the same source file which match the wildcard will be flagged [Aaron Giles]. - Corrected 'Mr. Do' clocks, video parameters, merged memory maps [Aaron Giles]. - Fixed i86 core so that REP instructions with high interleave actually make forward progress. Also fixed cpu.mak dependencies for i286 [Aaron Giles]. - Added polling hooks for SP0250 DRQ line. The callback is now optional. If not provided, then the kick timer is not used. Converted gottlieb speech driver to use polling for SP0250 DRQ line [Aaron Giles]. - Added kludge to 6502 core such that CLI followed by RTI does not allow any interrupts through. In the future, the 6502 interrupt handling needs further revisiting [Aaron Giles]. - Improved graphics and sound in 'Grand Prix '98' [David Haywood]. - Added the ability for a ROMset to specify a default BIOS. Use ROM_DEFAULT_BIOS("biosname") in the ROM definition. This can be used to ensure a correct default BIOS for ROM versions that care [Aaron Giles]. - atarisy1 changes [Kevin Eshbach]: * Support for new Atari System 1 TTL Motherboard dump (previously MAME would crash when using it and now it just seems to hang.) * PROMs dumped from Atari System 1 TTL Motherboard (one PLA needs dumping though). * Added notes on the Atari System 1 Motherboard and some of its supported games. - Added placeholders for various PALs on the following systems: balsente, galaga, ms32, namcofl, rocnrope, tx1 [Kevin Eshbach]. - popeye.c improvements [Kevin Eshbach]: * Corrected the ROM names for Popeye. * Added save state support to Popeye. * Added the DIP location to the encrypted Popeye and fixed the coin settings according to the manual (unencrypted Popeye not changed). - Added the DIP locations to 'Tutankham' [Kevin Eshbach]. - Some minor MCS-48 cleanup. Added 8040/8050 variants [Aaron Giles]. - Fixed buggyboy I/O, engine sound and tilemap scrolling [Phil Bennett]. - ldplayer works again. Added MDRV_LASERDISC_GET_DISC callback hook which allows for dynamically finding the CHD, rather than relying on the DRIVER_INIT hackery that was there before [Aaron Giles]. - Added a work-around for '2 Minute Drill', to get it booting again [Angelo Salese]. - Fixed rendering of slider controls so it doesn't overlap when menus get large [Aaron Giles]. - Fixed speed-up for Vamf x1/2 (Europe) [Pierpaolo Prazzoli]. - Cleaned up the profiler. Reduced its runtime overhead significantly by inlining the check to see if it is running. Removed obsolete entries and updated the text to more accurately describe each one. Added CPU tags to the CPU names. Switched to using an astring for building the final string. Unfortunately, still a bit too much overhead to leave it on in all builds [Aaron Giles]. - Added NO_DUMPS for the VHS on hnxmasev, hnageman, av2mj1bb and av2mj2rg [Angelo Salese]. - Fixed auto_malloc() to randomize its memory when allocated in the debug build. This used to be the standard, but it seems to have been removed when the pool allocation was moved into the library. Also changed rand_memory() to use a fixed seed for consistent behavior [Aaron Giles]. - Removed a couple of unnecessary typedefs from mamecore.h. Updated romload to use an astring for accumulating errors (I always feared busting that buffer with some huge romlist) [Aaron Giles]. - romload cleanups [Aaron Giles]: * Added running_machine to internal structure, removed as explicit parameter. * Added new function rom_file_size() to compute the size of a ROM. * Removed rom_first_chunk() and rom_next_chunk() which are no longer needed (all users can use rom_file_size() now). * Changed progress display to be based on size of ROMs loaded. * Changed temporary load buffer to be dynamically allocated. * Fixed reload logic to handle skipped BIOSes. - Fixed layer enable,flip x & x/y position in goodejan.c driver [Angelo Salese]. - Fixed for odd word DMA transfers in the namcos12 driver [Olivier Galibert]. - Added simple built-in layout for polepos showing the position of the shifter. Removed debug build hack to popmessage the shifter state [Aaron Giles]. - Added savestate support to all games in mrdo.c: mrdo, mrdoy, mrdot, mrdofix, mrlo, mrdu, yankeedo [MooglyGuy]. - Added savestate support to all games in docastle.c: docastle, docastl2, docastlo, douni, dorunrun, dorunru2, dorunruc, dorunrca, spiero, dowil, jjack, kickridr, idsoccer [MooglyGuy]. - Added savestate support to all games in statriv2.c: statusbj, hangman, trivquiz, statriv2, statrv2v, statriv4, sextriv, quaquiz2, supertr2, supertr3 [MooglyGuy]. - Lots of improvements to the different Cherry Master hardware: added new sets, created new machine drivers, fixed colors, added PPI devices, created new 8255 and ay8910 interfaces, worked out inputs and DIP switches from the scratch, fixed memory maps, merged the cherrym2.c driver with goldstar.c and much more... [Roberto Fresca, David Haywood]. - Added savestate support to 4enraya [MooglyGuy]. - Changed videopkr MCS-48 P4 control register to the PROG line, which is more likely. The way to toggle the PROG line is to read/write/and/or to ports 4-7. Since the board doesn't list an 8243 port expander, it is likely the "writes" to port 4 are really just a mechanism to get the PROG line to toggle to clear the interrupt [Aaron Giles]. - Fixed 'Super Triv' colors [Pierpaolo Prazzoli]. - Discovered numerous new opcodes for cb2001 [robiza]. - Improved mgcs. It now runs through attract mode. It still locks up as soon as one coins up though, due to the unemulated IGS029 protection [Luca Elia]. - Fixed more stuff with Diamond Derby, game is playable but not yet working (due of a subtle bug, see source) [Angelo Salese]. - Slot Carnival [Roberto Fresca]: * Added gfxdecode & palette length to the machine driver, so tiles can be viewed through F4 in case of someone wants to help. * Defined SND_CLOCK for the ay8910. - Removed bogus port 4-7 definitions from MCS-48. Added i8243 implementation. Connected 8243 properly to monsterb and system 16a sound. Changed draw80pkr to connect the PROG line like videopkr [Aaron Giles]. - Changed Status 'Trivia 2' (and related games) clock to 13.684MHz to fix game speed. Still wrong, but better than before [MooglyGuy]. - Fixed a few out-of-bounds errors revealed by randomly initializing auto_malloc() memory. These would manifest themselves as difficult to reproduce crashes on some systems. Affects laserbat, progolf, seta2, and cubeqst drivers [Aaron Giles]. - Removed dangling old obsolete code from scramble.c, scobra.c, and galaxold.c [Aaron Giles]. - Added savestate support to the TTL74148 and TTL74153 devices [MooglyGuy]. - Removed anonymous timers from gridlee and added savestate support [MooglyGuy]. - Added savestate support to all games in 40love.c, 88games.c, 1943.c, carpolo.c, circus.c and exidy.c: 40love, fieldday, undoukai, 88games, konami88, hypsptsp, 1943, 1943j, 1943kai, carpolo, circus, circusse, robotbwl, crash, ripcord, sidetrac, targ, targc, spectar, spectar1, rallys, phantoma, mtrap, mtrap3, mtrap4, venture, venture2, venture4, teetert, pepper2, hardhat, fax, fax2 [MooglyGuy]. - Cleaned up some memory and file handles in the error cases of ldverify [Oliver Stoeneberg].