Whats New
Whats New
Whats New
136
----MAMETesters Bugs Fixed
---------------------- 03603: [DIP/Input] karnov, karnovj: incorrect difficulty dipswitch
(Tafoid)
- 03604: [DIP/Input] oscar, oscaru, oscarj1, oscarj2: Incorrect
difficulty dipswitch (Tafoid)
- 03142: [DIP/Input] All drivers using PORT_CHANGED callbacks: Input
port callback functions are not triggered correctly during
INP playback. (mahlemiut)
- 03493: [Gameplay] spacedxo: The game reboots itself after title
screen (Fabio Priuli)
- 03608: [Multisession] scontra, scontraj: Tile/graphic corruption on
multiple launches of Super Contra (Fabio Priuli)
- 03611: [Crash/Freeze] 1943, 1943j, 1943kai: Crash when starting
1943 in Service Mode (Fabio Priuli)
- 03598: [Original Reference] plotting, flipull: YM2203 speed
adjustment (Tafoid)
- 03593: [Graphics] captaven & clones: Intro text scrolls from wrong
direction (Pierpaolo Prazzoli)
- 03596: [Crash/Freeze] All sets in konamigv.c, mitchell.c: Attempt to
register save state entry after state registration is closed
(Aaron Giles)
- 03597: [Original Reference] outrun, outrunra, outruno, outrundx,
outrunb: Incorrect vsync speed on Outrun (Tafoid)
Source Changes
-------------hng64 improvements: [Andrew Gardner]
- RoadsEdge & XRally polygons are now visible.
- Improved geometry chunk type 0x2e.
- Fleshed out the 'chunk type bits' a little. This will be verified
against type 0x24.
- Xrally and roadedge hng64 screens no longer run at 10fps.
- Fixed polygon lookup in driving games.
Changed behavior of -watchdog option to act like a real watchdog. It
now specifies the number of seconds after the last video update that
will cause auto-termination of MAME. Also modified it to output a
message when the watchdog triggers the exit. [Aaron Giles]
Updated windows.txt to reflect this option and the debugger_font
options which were never previously documented. [Aaron Giles]
EEPROM changes: [Aaron Giles]
- Fixed auto EEPROM region to properly handle 16-bit data.
- Changed EEPROM device to initialize EEPROM at NVRAM load time
rather than init time, giving DEVICE_INIT handlers a chance to
muck with the data first.
- Removed _NODEFAULT_ forms of EEPROM driver macros. If you need to
add default data, follow the MDRV_EEPROM_ADD() with
MDRV_EEPROM_DATA().
- Updated remaining drivers to the new EEPROM device code. Many of
them now require a default EEPROM to be loaded along with the
ROMs, rather than hard-coded data in the driver
Fix for INP recording ports that have changed notification. Also
prevents new inputs from affecting recorded inputs during playback.
[mahlemiut]
Updated srcclean to remove "invisible spaces" immediately preceding
tabs. [Atari Ace]
Cleaned up braces in the code so that they are properly balanced.
[Atari Ace]
Optimized RDP implementation further with more flattened branches.
[Harmony]
Converted a number of vector opcodes to the RSP DRC core. [Harmony]
Unrolled and optimized a number of vector opcodes in the interpreter
RSP core. [Harmony]
Extended the devtempl.h file to support device address spaces.
[Aaron Giles]
cmmb.c - Identified and marked Service Mode DIP. [Tafoid]
Converted the NMK112 to be a device and updated drivers using it
accordingly. [Fabio Priuli]
Added GAME_SUPPORTS_SAVE flag to psikyosh.c, since the conversion to
eeprom devices fixed the remaining issues with save states.
[Fabio Priuli, Aaron Giles]
Changed Caveman Ninja driver to use Partial Updates for Raster Effects
instead of buffering scanline data [David Haywood]
Changed Deco32 driver to use Partial Updates for Raster Effects
instead of buffering scanline data (but left Dragon Gun using the
buffering, because the video rendering code is far too slow with 224
partial updates for now) [David Haywood]
Commented out some harmful and suspicious looking interrupt generation
in NamcoND1 driver until it's being properly verified; fixes Game
Options menu in NCV2 test mode. [David Haywood]
adp.c improvements: [Angelo Salese]
- Fixed some minor quirks
- Improved Backgammon memory map
- Implemented RAMDAC for Fun Land Deluxe
Fixed error in codegen for drol/dror opcodes in the x86 back-end.
[Aaron Giles]
Re-implemented misaligned memory handling in the RSP DRC as before.
[Aaron Giles]
Explicitly sign-extend 32-bit indexes for load/loads/store on 64-bit
machines to prevent overflow issues. Fixes DRC crash in mtetrisc.
[Aaron Giles]
Fixed a few DRC-ized vector load/store opcodes in the RSP core.
[Harmony]
0.135u4
------MAMETesters Bugs Fixed
---------------------- 03583: [Core] Windows Debug: Stack crawl is not generated anymore
(Firewave)
- 03588: [Sound] mystston, myststono: Music is faster than original
PCB (Kold666)
- 03589: [Graphics] mystston, myststono: VSYNC does not match original
PCB (Kold666)
- 03592: [Original Reference] outrun, outrunra, outruno, outrundx,
outrunb: Master clock is incorrect (Tafoid)
- 00400: [Graphics] combascb: Graphic issues on the "players" screen
as scrolling problems on 1st stage. (Fabio Priuli)
Source Changes
-------------Added driver data struct to: [Fabio Priuli]
- airbustr.c
- cvs.c
- 8080bw.c and mw8080bw.c
- 88games.c, combatsc.c and rockrage.c
- psikyo4.c and psikyosh.c
Added driver data struct and save states to: [Fabio Priuli]
- djboy.c
- toratora.c and sf.c
- neogeo.c
- cps1.c, cps2.c and fcrash.c
- cbasebal.c, chinsan.c, mitchell.c and quasar.c
- malzak.c
- battlnts.c, bladestl.c, crshrace.c and contra.c
- f1gp.c, fastlane.c, flkatck.c, hcastle.c, labyrunr.c and suprslam.c
- psikyo.c and pgm.c
Removed old index-based DISCRETE_ADJUSTMENT and then renamed the newer
DISCRETE_ADJUSTMENT_TAG to replace it. Updated all callers.
[Aaron Giles]
Removed all uses of input_port_by_index(), and removed the function.
[Fabio Priuli, Aaron Giles]
Added saves to 6522via.c. This fixes problems of gameplan.c and
trvquest.c games with -autosave. [Fabio Priuli]
Enabled GAME_SUPPORTS_SAVE flag to dday.c because some of the core
changes have fixed the sound problem at loading. [Fabio Priuli]
Imported SAA5050 emulation from MESS and made it a device. Updated
malzak.c to use it, removing the almost identical implementation in
the driver. [Fabio Priuli]
Added TILE_GET_INFO_DEVICE and SET_TILE_INFO_DEVICE macros to
tilemap.c. [Fabio Priuli]
Made MB14241 Shifter IC a device and moved its source to emu/machine.
Updated mw8080bw.c and 8080bw.c accordingly. Also converted fgoal.c
to use this implementation in place of its own version. [Fabio Priuli]
Enhanced the UML opcodes for LOAD, LOADS, and STORE to support
arbitrary scaling factors. Previously, specifying a size implied
a scaling factor equal to the size (i.e., specifying DWORD meant
the index was scaled by 4). This is still the default. However,
now you can specify the scale explicitly for other cases. For
example, you can specify DWORD_x1 to fetch a DWORD but don't
scale the index at all, or BYTE_x8 to fetch a BYTE while scaling
the index by 8. Updated all backends to make this work. [Aaron Giles]
Konami devic-fication and improvements: [Fabio Priuli]
- Added device versions of all the Konami custom ICs currently
emulated in machine/konamiic.c and video/konamiic.c
- Updated combatsc.c, contra.c, crshrace.c, f1gp.c, fastlane.c,
flkatck.c, hcastle.c, labyrunr.c and suprslam.c to use the
new code.
- Moved k056800 sound device to emu/sound and removed the old code;
updated gticlub.c, hornet.c, nwk-tr.c, ultrsprt.c and zr107.c to
use this implementation
- Updated 88games.c, battlnts.c, bladestl.c and rockrage.c to use new
devices
- Updated asterix.c and moo.c to use the new devices.
- Converted aliens.c, blockhl.c, crimfght.c and gbusters.c to use
Konami video devices
- Updated parodius.c, simpsons.c, thunderx.c, vendetta.c and
xexex.c to use the new video devices
- Updated overdriv.c to use the Konami video devices
- Updated gradius3.c, mainevt.c & gijoe.c to use Konami video devices
- Updated ajax.c, bottom9.c, chqflag.c, rollerg.c, spy.c, surpratk.c
to use Konami video devices
- Updated dbz.c, lethal.c, metro.c, rungun.c, tail2nos.c, tmnt.c,
ultraman.c, wecleman.c, xmen.c & zr107.c to use Konami video
devices instead of konamiic.h code
- Updated bishi.c and djmain.c to use Konami video devices
- Updated plygonet.c to use Konami video devices and
input_port_write for eepromdev_read_bit
- Updated asterix.c, gijoe.c, hornet.c, lethal.c, moo.c, overdriv.c,
rungun.c, vendetta.c, xexex.c & xmen.c to use eeprom device
- Updated konamigx.c, tmnt.c and mystwarr.c to use eeprom device
Fixed tilemaps so they can be initialized at device start time.
[Aaron Giles]
Added redumped roms to coolridr. [David Haywood]
Fixed crash on exit for systems with no tilemaps. [Aaron Giles]
Added warning messages for auto_malloc, timer, and save state
allocations done after init time. These should be fixed when detected,
and will soon be disallowed entirely. Fixed many cases in the code
where this was being done. [Aaron Giles]
Converted Taito F3 sound to a separate machine driver which is
imported into games that use it. [Aaron Giles]
Converted the balsente driver to driver_data structure. [Aaron Giles]
Some more Atari driver shuffling. Added atarigen_init() function
which allocates all timers and registers for save states. Updated
all drivers to call it. Converted some drivers to use device timers.
[Aaron Giles]
[Tafoid]
nitedrvr.c, tourtabl.c - Changed clock values to XTAL [Tafoid]
Added new option "numprocessors" (see windows.txt for an explanation).
[couriersud]
Optimized N64 RDP renderer by using function pointers to function
variants that eliminate costly branches. [Harmony]
Minor drc improvments: [Aaron Giles]
- simplified RSP's misaligned memory accesses
- removed now-unnecessary shifts from direct memory accesses in
mips3/powerpc drcs
- optimized AND with 0xff/0xffff/0xffffffff cases for x86/x64
- added rudimentary memory/register tracking in x86 backend to
remove redundant loads
cb2001 improvements: [robiza]
- added ay8910 and 8255ppi devices
- added some info about relation between cmast91 and cb2001
- added many opcodes
Fixed sprite-tilemap priorities in Super Slams [Angelo Salese]
Worked around protection in sranger, srangerw and srangerb
[Angelo Salese]
Converted 7474, 74148, and 74153 TTL implementations to devices.
[Aaron Giles]
More rom name corrections for the merit.c driver [Brian Troha]
Added Guru's board notes to the Outrun/Super Hang-on Driver.
[Guru]
Converted the ds2404 to a device. [Aaron Giles]
Removed deprecated core function decodegfx() [Christophe Jaillet]
Removed the global "includes" include and instead specify the
"includes" path in all #include occurences. [Oliver Stoneberg]
Eliminated the use of generic.colorram and generic.videoram in
several drivers [Atari Ace]
Fixed Brick Zone parent set bitplane graphics [Angelo Salese]
Fix megadrive emulation to use the SMSIII version of the sn76489
sound chip. [Lord Nightmare, DFJustin]
Added save states to ics2115 sound device. [Fabio Priuli]
Changed EEPROM usage in many drivers to use the new device version.
[Aaron Giles, Fabio Priuli]
Removed auto-init hack from some Konami games. Hold down F2 and reset
(via F3) to initialize the EEPROM, like all the other Konami games.
[Fabio Priuli]
0.135u3
------MAMETesters Bugs Fixed
---------------------- 03565: [Color/Palette] astrof, astrof2, astrof3: blue background is
supposed to be black (David Haywood)
- 03557: [Sound] All sets in namcos12.c: Music is slower than
original (Phil Bennett)
- 03561: [Crash/Freeze] robokid, robokidj, robokidj2: Segmentation
Fault after OK (Fabio Priuli)
- 03562: [Crash/Freeze] fcombat: Segmentation Fault after OK
(Fabio Priuli)
- 03560: [Crash/Freeze] missb2, saiyugoub1, saiyugoub2: Driver Data
Struct Issues (Fabio Priuli)
- 03559: [Crash/Freeze] All sets in viper.c, subsino.c and coolridr.c:
Segmentation Fault before OK (Fabio Priuli)
Source Changes
-------------Kusayakyu improvements [Angelo Salese]
- fixed color prom hook-up, tilemap color offsets and tilemap
flipping
- fixed sound and tweaked the frequencies in the driver
Tron: Hooked up cocktail (P2) fire button so that it can be used
in-game and in test mode. [Tafoid]
Added driver data struct and save states to: [Fabio Priuli]
- gberet.c, ddrible.c, gaelco.c, trackfld.c, hyperspt.c, yiear.c
- hnayayoi.c, hanaawas.c, higemaru.c, himesiki.c and sonson.c
- galspnbl.c, gcpinbal.c, ginganin.c, go2000.c, goal92.c, goindol.c,
good.c, gotcha.c, gotya.c, gstream.c, gumbo.c, gundealr.c,
hitme.c, holeland.c & homerun.c
- glass.c & homedata.c
- fromance.c, fromanc2.c, ikki.c, imolagp.c, inufuku.c
- jack.c
[Aaron Giles]
Converted Signetics 2636 video chip to be a MAME device and updated
drivers using it accordingly. [Fabio Priuli]
Memory system changes: [Aaron Giles]
- Memory banks are now referenced by tag rather than index.
Changed all memory_bank_* functions to specify a tag.
Bulk-converted existing banks to be tagged "bank##" in
order to ensure consistency. However, going forward, the
tags don't matter, so please name them something useful.
- Added AM_BANK_READ/AM_BANK_WRITE macros to let you specify
bank tags. Also changed AM_ROMBANK and AM_RAMBANK macros to
accept tags as well.
- Added new functions memory_install_read_bank_handler and
memory_install_write_bank_handler to install banks by tag
name, similar to input ports.
- Changed internals of memory system to dynamically allocate
all banks. The first time a bank with an unknown tag is
installed, a new bank object is created and tracked
internally.
- Removed SMH_* macros entirely. In their place are a series of
expanded macros and new memory installation helpers. Some
mappings below (not all are new):
AM_READ(SMH_RAM)
-> AM_READONLY
AM_WRITE(SMH_RAM)
-> AM_WRITEONLY
AM_READWRITE(SMH_RAM, SMH_RAM)
-> AM_RAM
AM_READ(rhandler) AM_WRITE(SMH_RAM)
-> AM_RAM_READ(rhandler)
AM_READ(SMH_RAM) AM_WRITE(whandler)
-> AM_RAM_WRITE(whandler)
AM_DEVREAD(tag, rhandler) AM_WRITE(SMH_RAM)
-> AM_RAM_DEVREAD(tag, rhandler)
AM_READ(SMH_RAM) AM_DEVWRITE(tag, whandler)
-> AM_RAM_DEVWRITE(tag, whandler)
AM_READ(SMH_ROM)
AM_WRITE(SMH_ROM)
-> AM_ROM
-> (was a no-op)
AM_READ(SMH_NOP)
AM_WRITE(SMH_NOP)
AM_READWRITE(SMH_NOP, SMH_NOP)
-> AM_READNOP
-> AM_WRITENOP
-> AM_NOP
0.135u2
------MAMETesters Bugs Fixed
---------------------- 03553: [Crash/Freeze] extdwnhl: Game does not start (Phil Bennett)
- 03544: [DIP/Input] mgdh, sdmg2: The joystick function missed in
mgdh and sdmg2 (Luca Elia)
- 03547: [Graphics] mgdh,sdmg2: Donden graphics in mgdh and sdmg2 are
inaccurate (Luca Elia)
- 03546: [Documentation] nkishusp: Black screen after the game start.
(Luca Elia)
- 03540: [Sound] glpracr3, hvnsgate, raystorm: Missing sound.
(Phil Bennett)
- 03545: [Graphics] tekken3, tektagt: Tekken games do not proceed
into attract mode after initial screen (Phil Bennett)
- 03542: [Sound] Sets/Drivers using YM2610: Missing sounds
(Phil Bennett)
Source Changes
-------------Added driver data structs to: [Fabio Priuli]
- beaminv.c
- cball.c and capbowl.c
- changela.c, circus.c and circusc.c
- crgolf.c and clayshoo.c
- decocass.c
- docastle.c, dotrikun.c, cloud9.c and destroyr.c
- cheekyms.c
- embargo.c
- ddragon.c, ddragon3.c and fgoal.c
- bwing.c
- dday.c
- dcheese.c
- flyball.c
- freekick.c
Added driver data and save state support to: [Fabio Priuli]
- blmbycar.c
- zerozone.c, yunsun16.c, dominob.c, dogfgt.c and bogeyman.c
- blockout.c and bigevglf.c
- chaknpop.c
- albazg.c
- chinagat.c, esd16.c, f-32.c, fcombat.c, finalizr.c
- fantland.c and firetrap.c
- btime.c and scregg.c
- fitfight.c, flstory.c and funkybee.c
- fuukifg2.c and fuukifg3.c
Added save state support to: [Fabio Priuli]
- 2mindril.c, ashnojoe.c, bigfghtr.c, bublbobl.c, cchance.c,
champbwl.c, missb2.c
- compgolf.c, champbas.c, copsnrob.c, cop01.c, cosmic.c, cntsteer.c,
dacholer.c and dec8.c
- armedf.c, calorie.c, canyon.c, chanbara.c, citycon.c, commando.c,
crospang.c & cultures.c
- astrocorp.c
- ddayjlc.c, ddealer.c, deniam.c, discoboy.c, diverboy.c, dorachan.c,
dragrace.c, dreamwld.c, dribling.c, drmicro.c, drtomy.c
- dynadice.c, dwarfd.c, dunhuang.c, enigma2.c, epos.c, drgnmst.c
and egghunt.c
- equites.c, exedexes.c, exerion.c and exprraid.c
- funybubl.c, galaxi.c, gaiden.c and rocnrope.c
Removed some rogue occurrences of 'x1snd' resulting from device tag
mass-change. [Phil Bennett]
drw80pkr.c updates: [Jim Stolis]
- Added Save State Support
- Added Preliminary Dip Switch Settings
- Corrected CPU Clock Value
- Corrected Sound (Now Works)
- Narrowed Down More IO R/W Areas
tms7000: Fixed disassembly of PCREL addressing mode. [Wilbert Pol]
Added device support to the input system. Internally this replaces
PORT_CUSTOM/PORT_CHANGED, backward compatibility is achieved with an
internal dummy device. Added output lines (IPT_OUTPUT), which can be
written using new input_port_write* functions or directly from a
memory map using AM_WRITE_PORT converted adc083x to use io lines.
[smf]
ADC devices updates: [smf]
- adc08x chips are all hooked up using input/output ports
- reversed racing force steering wheel input and gas pedal, which
is enough to get the game to boot.
- reversed steering wheel input on winding heat, the usa cabinets
are however hooked up the other way.
- renamed adc0831_interface to adc083x_interface.
- fixed adc083x gnd input
- removed stray call logerror from adc083x.c
- fixed default adc083x sars value
0.135u1
------MAMETesters Bugs Fixed
---------------------- 03535: [Documentation] 3stooges: P1-P2-P3 button does not match
documentation (input (this game)) (David Haywood)
- 02734: [Crash/Freeze] videocba, videodad, blckjack: Crash
immediately after OK (Firewave)
- 00941: [Sound] tp84: The startup 'tune' no longer sounds like the
original game after the fixes to the SN76496 sound core.
(Lord Nightmare)
- 03494: [Gameplay] batridc, batrid, batridk, batridu: 'Guest
Player', 'Special Course', 'Player Select' dipswitch
settings reversed (Fabio Priuli)
- 02155: [DIP/Input] mole: Incorrect buttons mapping. (M.A.S.H.)
- 03498: [Graphics] sengekis, sengekisj: Missing graphic layer in
Stages 3 and 5 (David Haywood)
- 03509: [Graphics] galpans2, galpans3, panicstr: Input test screen
shows zoomed in text (David Haywood)
Source Changes
-------------Updated LFO information in YMF271 core. [Brian Troha, Nicola Salmoria]
Fixed parent relationship between sbrkout3 and sbrkout.
[Lord Nightmare]
Removed some magic numbers from machine/psx.c, replaced with #defines.
[Harmony]
Change to consistently use Intel notation for hex values in TMS32010
disassembler, rather than a mix of Motorola and Intel notation.
[Lord Nightmare]
Z80: Check for NOP in interrupt mode 0. This allows code like ei /
halt / di to work correctly. A better solution would be to implement
full support for arbitrary opcodes in mode 0. [Dirk Best]
igs017.c update [Luca Elia]
- Merged in some IGS031 based games (igs_m68.c, tarzan.c)
- Implemented tiles flip x and video disable
- Added hopper simulation to mgcs
- Decrypted mgdh
Almost complete decryption of starzan and tarzana [iq_132]
Documented presence of Namco customs on the Pole Position bootleg
(Top Racer) sets. Removed Namco devices from bootlegs which don't
have them. [David Haywood]
Added save state support to plygonet.c and the DSP56156 CPU core.
[Andrew Gardner]
Updated SN76489/A to have correct PRNG waveforms (a 0 bit was missing
at the beginning, and beginning of SN76489 waveform was all 1s
instead of 0s as measured on hardware). Added SN94624 (same as
SN76489). [Lord Nightmare, plgDavid (David Viens)]
IGS blitter based games update [Luca Elia]
- Renamed driver to igs011.c and cleaned it up
- Renamed some sets according to chinese title
- Implemented hopper in lhb, lhb2, wlcc
- Decrypted ryukobou
i386 core fixes: [Barry Rodewald]
* Added Nested Task flag, and I/O Privilege flags. They aren't
implemented in any way, but can now be set or reset. Can be used
to detect a 80386 or later CPU.
* Implemented ENTER instruction.
* Made IRQ vectors treated as 8 bytes when in protected mode, and
made the addresses pushed onto the stack 32-bit if the gate
descriptor used is a 386 interrupt or trap gate (also when in
protected mode, will always be 16-bit if in real mode).
Fixes to default mapping as well as comment/information fixes for
Mole Attack [M.A.S.H./Tafoid]
Identify puyoj set as Rev B and correct various rom names.
[Smitdogg, Dumping Union]
Improved Super Nova sprite shrinking, used by Gals Panic S2 and
Sengeki Striker. [David Haywood]
Improved dips in Mahjong Vegas. [nightsoil]
Added emulation of background graphics (blitter), sound and inputs to
skimaxx.c [Luca Elia]
Refactored Z80, i8237, and i8257 DMA to use devcb. [Curt Coder]
Fixed RGB555 palette RAM format in Soccer Superstars [Angelo Salese]
Allowed child CPUs to be used in read8/write8 callbacks. [Curt Coder]