MAMETesters Bugs Fixed
- 02644: [Gameplay] tdragon, tdragon1, hachamf: Coin counter doesn't
decrease (Angelo Salese)
- 02799: [DIP/Input] mace: No player 2, button 4 available for mapping
- 02676: [Color/Palette] All Laserdisc Games: Wrong colors using
Direct3D on ATI cards. (Aaron Giles)
- 02104: [Crash/Freeze] metlhawk, metlhwkj: Crash while decoding with
'-debug' trigger (Aaron Giles)
- 02575: [Misc.] taitogn: Not marked as bios in -listxml (Aaron Giles)
- 02779: [Crash/Freeze] sfiii2j: Access Violation with -debug
- 02141: [Crash/Freeze] sunaq: At the Title, Game is Crash
- 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
- 02760: [Crash/Freeze] Games using MC6845: Crash with an error on
startup before OK. (Phil Bennett)
- 02714: [Sound] 3stooges: Speech works for a while, then starts going
in and out of horrible noise and static (Aaron Giles)
- 02793: [DIP/Input] funkyjet: Unable to locate input port 'P1'.
- 02776: [Crash/Freeze] mwalk, mwalkj, mwalku: Crash when starting
game (Aaron Giles)
- 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
- 02788: [Misc.] jjack, dorunrun and clones: Immense emulation speed
- 02742: [Crash/Freeze] xsleena and clones: Game freezes (Mamesick)
- 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)
- 02773: [Crash/Freeze] all gamecstl.c sets: [debug] Assertion
- 02781: [Documentation] mt_mwalk: Change title to "Michael Jackson's
Moonwalker (Mega-Tech)" (Aaron Giles)
- 02780: [Crash/Freeze] nss_smw: Integer Overflow with -debug
- 02782: [Crash/Freeze] swa: [debug] Access Violation with -debug
- 02783: [Crash/Freeze] SMS-Based megatech.c sets: [debug] Access
Violation with -debug (Aaron Giles)
- 02785: [Crash/Freeze] a51site4: Interger Overflow with -debug
- 01092: [Crash/Freeze] debugger crashes when exiting during "run to
- 02738: [Documentation] zoar: The rom marked as bad dump is not bad.
- 02758: [Compiling] linking ldplayer fails (Aaron Giles)
- 02764: [Crash/Freeze] liberatb: [debug] Access Violation (Atari Ace)
- 02765: [Crash/Freeze] all naomi.c sets: Assertion (Aaron Giles)
- 02771: [Crash/Freeze] all ddragon3.c, shadfrce.c and wwfsstar.c sets:
[debug] Assertion (Mamesick)
- 02770: [Crash/Freeze] aceattac: Interger Overflow (Aaron Giles)
- 01437: [Sound] hardhead: MAME has the clock frequency of the YM3812
wrong. (Phil Bennett)
- 02772: [Crash/Freeze] hanayara: [debug] Access Violation
- 02186: [Misc.] vliner, vlinero: Typo of manufacturer. (Phil Bennett)
- 02747: [Compiling] Compile error on openSUSE 11.1 / gcc 4.3.2 with
OPTIMIZE=3 (Aaron Giles)
- 02763: [Crash/Freeze] some leland.c sets: Access Violation
- 02766: [Crash/Freeze] topgunnr: Hangs (Phil Bennett)
- 02761: [Crash/Freeze] cntrygrl: [debug] Access Violation
- 02762: [Crash/Freeze] galkaika, galkoku, hyouban, mcontest,
tokimbsj, tokyogal, uchuua: Access Violation (Phil Bennett)
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.
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).
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.
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]
Replaced the bad (likely hacked) Gururin dump with a fresh one, and
fixed some rom names in Double Axle according to the pcb.
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/60
Hz. 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).
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.
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
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
- 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 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).
Fixed System 18 rendering so that System 16 sprites don't attempt to
shadow VDP pixels (causes crash downstream in debug builds).
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.
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.
Fixed i86 core so that REP instructions with high interleave actually
make forward progress. Also fixed cpu.mak dependencies for i286.
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.
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
* Added notes on the Atari System 1 Motherboard and some of its
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.
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.
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
- 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.
Fixed for odd word DMA transfers in the namcos12 driver.
Added simple built-in layout for polepos showing the position of the
shifter. Removed debug build hack to popmessage the shifter state.
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,
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.
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.
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.
Removed anonymous timers from gridlee and added savestate support.
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]
New games added or promoted from NOT_WORKING status
Turbo Sub (2 versions) [Phil Bennett]
Mahjong Jong-Tei [Luca Elia]
Barline [David Haywood, Angelo Salese]
New Lucky 8 Lines (2 sets) [Roberto Fresca]
Cherry Bonus III (Version 1.40, 2 sets) [Roberto Fresca]
Cherry Bonus III (version 1.40, encrypted)
[Andreas Naive, Roberto Fresca]
Ying Hua Lian 2.0 [Luca Elia, Angelo Salese, David Haywood]
M.A.C.H. 3 [Aaron Giles, Bobby Tribble]
Us vs. Them [Aaron Giles, Smitdogg]
Soul Calibur [Olivier Galibert]
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]
New clones added
Space Echo (set 2) [Roberto Fresca]
Show Hand (China) [Luca Elia]
Don Den Lover Vol. 1 (Korea) [Luca Elia]
Vamf x1/2 (Europe) [Smitdogg]
DownTown / Mokugeki (Joystick Hack) [Corrado Tomaselli]
New Lucky 8 Lines (set 2) [Roberto Fresca]
Pit Boss (Set 2) [David Haywood]
R-Type (world, bootleg) [mameitalia]
Thunder Cross II (World) [Stefan Lindberg]
Trivia ? Whiz (Horizontal) (question set 3) [David Haywood]
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]
Phraze Craze (set 2) [David Haywood]
9-Ball Shootout Championship (not working) [David Haywood]
Dogyuun (Licensed to Unite Trading For Korea) [Smitdogg]
New games marked as GAME_NOT_WORKING
Night Bunny / Royal Night [David Haywood, Angelo Salese]
Night Gal [David Haywood, Angelo Salese]
Night Gal Summer [David Haywood, Angelo Salese]
Sexy Gal / Sweet Gal [David Haywood, Angelo Salese]
Mahjong Cafe Break [Guru]
Bingo Circus [David Haywood, Angelo Salese]
Status Black Jack [Angelo Salese, Roberto Fresca]
Merit Poker [David Haywood, Angelo Salese]
Cherry Chance [David Haywood, Angelo Salese]
Dancing Stage Euro Mix [smf]
Landing High Japan [Ordyne, Phil Bennett]
Lucky Girl [David Haywood]
X Se Dae Quiz [David Haywood]
Mahjong Senka [Angelo Salese]
Mahjong Yarou [Angelo Salese]
AV Hanafuda Hana no Christmas Eve [Angelo Salese]
AV Hanafuda Hana no Ageman [Angelo Salese]
Mahjong Gaiden [David Haywood]
Operation Tiger [Chris Hardy, Phil Bennett]
Magic Card [Roberto Fresca, David Haywood, Angelo Salese]
Slot Carnival [David Haywood, Roberto Fresca]
Cross Bingo [f205v]
Mame is about getting emulation right, not about getting appriciated. The changelog is fine as it is.MAME changelogs would be more appreciated by people if they were not constituted of long cryptic tech references (cryptic for non-advanced users and non-programmers).