MAME/0.120
From GamerWiki
A warts and all look through the history of MAME as described by the MAME Dev team themselves through their releases.
Contents |
Version 0.120
Released: 2007-10-15
Source Changes
- Added "native" architecture option to the makefile. Use this to have gcc automatically pick the most appropriate architecture based on the system that it is compiling on. [Christophe Jaillet]
- Hooked up the KL5C80 communications CPU to the HNG64 BIOS and emulated some of its features. [Andrew Gardner, Justin Kerk]
- Fixed a few pointer truncation bugs in the Windows 64-bit code. Enabled warnings for 64-bit pointer truncations. Merged the x86 and x64 manifests. [Atari Ace]
- Changed 6821 PIA logging so that it only logs core messages once. [Tim Lindner]
- Updates to various NeoGeo ROMsets. Some ROM names updated to match verified names from chip labels. A lot of "older" sets have been redumped to investigate the "64k m1/s1 issue" (also the m1 "overdumps"). Result was, ALL m1 ARE at least 128kx8; ALL s1 ARE 128kx8. The old m1 "overdumps" were incomplete dumps. In addition, it has been discovered that all "p-roms" do have a minimum size of 4mbit. A number of sets have been restored to their "original" state, and a number of others have been marked as bad dumps where appropriate. Specific changes include: [Johnboy]
- bjourney: readded 128k m1 from Mame v0.34b5
- bstars: fully redumped, added correct m1
- bstars2: fully redumped, added correct m1
- goalx3: readded 128k m1 from Mame v0.34b5
- janshin: readded 128k m1 from Mame v0.34b5
- joyjoy: added correct m1
- legendos: readded 128k m1 from Mame v0.34b5
- maglord: fully redumped, added correct m1
- mutnat: partially redumped, added correct m1
- nam1975: fully redumped, added correct m1/s1
- ncombata: fully redumped, renamed set to ncombath
- neomrdo: readded 128k s1 from Mame v0.34b5
- pbobblen: readded 128k m1 from Mame v0.34b5
- puzzledp: readded 128k s1 from Mame v0.34b5
- ridhero: fully redumped, added correct s1
- socbrawl: readded 128k s1 from Mame v0.34b5
- ssideki2: fully redumped
- strhoop: readded 128k m1 from Mame v0.34b5
- svc: removed MVS tag, only one version exists (AES/MVS/PCB)
- svcboot: removed MVS tag
- tws96: readded 128k m1 from Mame v0.34b5
- viewpoin: readded 128k m1/s1 from Mame v0.34b5
- wh2j: partially redumped, renamed to wh2jh, is verified AES version
- wh2j: fully redumped, is verified MVS version
- wh1h: fully redumped, is verified AES version
- wh1ha: renamed from wh1h to wh1ha
- Made several more traditional optimizations to the voodoo emulations, gaining a few percent improvement. [Aaron Giles]
- Further tweaked the work code to appropriately check for work items versus checking for the number of outstanding items. [Aaron Giles]
- Simplified some of the model2 rendering code. [Aaron Giles]
- Moved a number of files from
mame/machineandmame/videotoemu/machineandemu/video. In general, files that emulate a common industry standard chip (as opposed to custom, manufacturer-specific chips) were moved. Further moves may happen in the future to isolate common system-level components (such as amiga, snes, etc.). [Aaron Giles, Curt Coder]
New games added or promoted from NOT_WORKING status
- Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz [Luca Elia]
New clones added
- World Heroes (set 3) [Johnboy]
- World Heroes 2 Jet (set 2) [Johnboy]
- Nightmare in the Dark (bootleg) [Johnboy]
Version 0.102u1
Released: 2007-10-25
MAMETesters Bugs Fixed
- ikki0120yel [robiza]
- buckrog0118u2yel [couriersud]
Source Changes
- Documented information about the various Cannonball sets. [stephh]
- Hooked up the roz layer, fg layer and sprites to f1gpb. Still missing some video offsets, oki banking and sprites priority. [Pierpaolo Prazzoli]
- Updates for the
dominob.cdriver: [stephh]
- fixed dip switches
- fixed inputs
- added a couple of notes
- Updated peplus driver and related components: [Jim Stolis]
- added internal layouts for the games
- fixed several i8051 issues...
- Fixed a bug with some opcodes having the wrong cycle counts
- Fixed a bug where determining the proper timer mode
- Fixed a bug where determining the proper serial transmit mode
- Added support for split timer mode
- Improved multiprocessor Voodoo performance by reducing contention during rendering. Extended the system to allow for more overlap between rendering and emulation. [couriersud, Aaron Giles]
- Fixed a crash in the input system when you configure joypads and then unplug them and press Esc on the system info screen. [R. Belmont]
- Defined strict types for CPU and sound chips. Removed unnecessary
cpu_prefix from several structure members. [Atari Ace]
- Fixed the m4510 cpu core from not updating the instruction cycle counter. [Wilbert Pol]
- Fixed memory access for m6509 instructions
91andb1. [Wilbert Pol]
- Changed
osdcore.hto includeosinline.hand allow for externalinlinedefinitions of synchronization primitives. Also added a new work queue hintWORK_QUEUE_FLAG_HIGH_FREQwhich indicates that we should spin aggressively waiting for new items. [couriersud, Vas Crabb]
- Enabled common linker warnings in the
makefile. [Oliver Stoneberg]
- Fixed a corner case in the
SCSPinvolving timers which are polled with theirIRQenable shut off. [R. Belmont]
- Namco System 21 update: [Phil Stroffolino]
- namconb1 sprites no longer broken
- fixed missing 3d gfx in Cybersled
- gradient colors in starblade
- more accurate depth cueing
- fixed crash in 2nd stage of Starblade
- fixed lockups in Air Combat and Solvalou
- fixes to sprite priority (see Solvalou mountain range)
- hooked up translucency (palette shift) effect
- Changed Model 2 rendering to use pre-clipped Z values for sorting. [Aaron Giles]
- Properly identified bill inputs in Midway Y-unit driver games. [Aaron Giles]
- Added more instrumentation and added some extra paranoia to the
winworkcode. [Aaron Giles]
- Fixed some incorrect code in the ADSP2100 external flag handling. [Aaron Giles]
- Created new module
polynew.cwhich combines triangle setup, rasterization, and Voodoo-like multiprocessor support. Coverted Gaelco3D, Midway V-Unit, Namco System 22, and Voodoo drivers over to the new system. [Aaron Giles]
- Added
threadidparameter to work item callbacks. This allows for keeping per-thread information by the callbacks. [Aaron Giles]
New games added or promoted from NOT_WORKING status
- Mahjong Hot Gimmick Integral (Japan) [Guru, David Haywood]
- Tottemo E Jong [David Haywood, Team Japump!]
- Good E Jong -Kachinuki Mahjong Syoukin Oh!!- [David Haywood, Team Japump!]
- Teraburst [icronnya77, Ville Linde]
New clones added
- Tube Panic (bootleg) [sonikos]
- Player's Edge Plus [Jim Stolis]
- Player's Edge Plus [Jim Stolis]
- Mortal Kombat 4 (set 2) [icronnya77]
- Meteor [Andreas]
New games marked as GAME_NOT_WORKING
- GameCristal [f205v, R. Belmont]
Version 0.120u2
Released: 2007-11-02
MAMETesters Bugs Fixed
- hornet0120u1red [Ville Linde]
- srmp6_0120u1ora [Aaron Giles]
Source Changes
- Rewrote ACIA6850 implementation. [Curt Coder]
- Did a complete overhaul of the Mad Alien driver. [Stefan Jokish]
- merged memory maps and added mirror addresses
- doubled sound chip frequency
- implemented IRQ acknowledge for the sound CPU
- added stub functions for missing discrete sounds
- re-implemented tilemaps (now the tunnel walls scroll into view)
- hooked up 6845 CRT controller
- made several fixes related to color handling
- cleaned up inputs and added dip switch locations
- raised main CPU speed (guesswork)
- added save state support
- Repaired the IC24 timer behaviour to fix some of Deal 'Em's bugs, and also added inputs. [James Wallace]
- Added save state support to skykid. [Mike Haaland]
- Fixed
tiny.makbased on new source reorg. [Tiago Pierezan Camargo]
- Added support for CR-589 firmware to the System 573 driver. Made substantial changes to the SCSI support, making it require fewer hacks, and allowing one device to be derived from another. Also added save state support. [smf]
- Added
SCIsupport to M6803/HD63701. [Curt Coder]
- Fixed several misnamed sound samples interfaces. [Atari Ace]
- Switched model1 lookup functions to be index based rather than requiring a linear scan. [Atari Ace]
- Added generic I2C bus memory support. Hooked up to the cubocd32 driver. [smf]
- Cleaned up
inlineassembly support: [Aaron Giles]
- moved all inlinable functions into new module
eminline.h - defined a number of new
inlinefunctions, including:
- 32x32 -> 64 bit multiply
- fast approximate floating point reciprocal
- removed old
inlinedefinitions fromosinline.h,osd_cpu.h, etc. -
eminline.hcontains C implementations of everything - new module
eigccx86.hcontains GCC-compatible x86/64 versions - new module
eigccppc.hcontains GCC-compatible PowerPC versions -
eminline.hautomatically detects GCC environments and includes appropriate file -
osinline.hnow only used in non-GCC environments - updated
osd/windows/osinline.hto contain MSVC-compatible versions
- moved all inlinable functions into new module
- Added
NORMimplementation to the TMS32031 core. [Aaron Giles]
- Created new rgbutil module which consists of
inlinefunctions for common RGB manipulation. This module can be accelerated with SSE2 or other SIMD operations. By default, only 64-bit Intel builds make use of SSE, since it can be assumed on those platforms. Reimplemented the namcos22 rasterizer in terms of theseinlinefunctions. Also updated the gaelco3d rasterizer to use this module for faster bilinear filtering. [Aaron Giles]
- Made some progress on the Midway Zeus-based system. The 3d command stream is now parsed and the format is partially understood, enough to display some polygons but with incorrect textures in Mortal Kombat 4. [Aaron Giles]
New games added or promoted from NOT_WORKING status
- Konami CD-ROM Drive Updater (700A04) [smf]
- Vs. Janshi Brandnew Stars [sonikos]
New clones added
- Eco Fighters (USA 940215) [Nicola Salmoria, Razoola]
New games marked as GAME_NOT_WORKING
- Time Machine v2.0 [James Wallace]
- Jet Wave [Ville Linde, Guru]
Version 0.120u3
Released: 2007-11-08
MAMETesters Bugs Fixed
- neodriv0117u3red [Hairu]
- kof10th0120u2yel [Robbbert]
- 6800basedgames0120u2red [Curt Coder]
- mpatrol0120u2yel [Curt Coder]
Source Changes
- Cleaned up the inline assembly for both x86 and PPC, enabled the
mul32family assembly stuff on 32-bit x86, and fixed some compiler warnings on 64-bit GCC. In addition: [Vas Crabb]
- Provided single-precision reciprocal approximation code for PowerPC and x86 with
SSE2. - Filled in all other
TBDfunctions ineigccx86.hfor completeness. - Conditionalised some code in
eigccppc.hso that it isn't used when the compiler has 64-bit instructions available.
- Provided single-precision reciprocal approximation code for PowerPC and x86 with
- Added static qualifiers and renamed symbols in MAME in an effort to further tidy up the global namespace. Generally generic names were targeted and some symbols that were both
staticandextern. Some specifics: [Atari Ace]
-
K053247_ramwas made static throughout and the existingK053247_export_configwas used to obtain the value inxmen.c. - The
enumsDS1991_STATEandDSP_TYPEwere unused and were therefore removed. - Dead code in
cps3.candthayers.cwas discovered and commented out.
-
- Made almost all input port definitions static. [Aaron Giles]
- Obsoleted the
GAMEBmacro, which is no longer necessary. [Atari Ace]
- Fixed casting issues in new
inlinevalidity checks. [R. Belmont]
- Some build-related improvements to the sound cores: [Atari Ace]
- The SCSP dependency on
mame/drivers/stv.cwas removed allowing it to built independent of the driver. - The WAVE dependency on MESS code was made explicit, so it can be built independentally of MESS.
- VOTRAX can now be built independentally of SAMPLES.
- The YM2612 core now can be built without including the YM3438 core.
- Unnecessary uses of
BUILD_andHAS_macros have been removed. -
BUILD_instead ofHAS_macros are used in3812intf.cfor consistency with the other fm cores.
- The SCSP dependency on
- Added DIP locations to several SSV games (in
ssv.c). [Vas Crabb]
- Corrected some errors in the SH4 core and implemented store queues and the basics of DMA. Added a call to simulate dma transfers with external devices. [Samuele Zannoli]
- Expanded
polynew.cto support quad rendering. Convertedmidvunit.cover to using the new quad rendering, which fixes a number of rendering issues that have plagued the driver since the start. [Aaron Giles]
- Added Z-clipping logic to
polynew.c. Converted namcos22 over to using that code. Simplified namcos22 significantly, working in quads throughout the lower-level pipeline and then handing the results off topolynew.c. [Aaron Giles]
- Updated
model3.cto use the new poly code, and changed much of the low-level implementation to make things easier. [Aaron Giles]
- Defined a couple of new functions in
eminline.h:atomic_increment32andatomic_decrement32. [Aaron Giles]
New games added or promoted from NOT_WORKING status
- Every Second Counts [Philip Bennett]
- Treble Top [Philip Bennett]
- Quizvaders [Philip Bennett]
New clones added
- Extermination (Japan) [Corrado Tomaselli]
- Gang Busters (set 2) [Patrik Styrnell]
- Trog (rev LA5 03/29/91) [icronnya77]
New games marked as GAME_NOT_WORKING
- Inquizitor [Philip Bennett]
Version 0.120u4
MAMETesters Bugs Fixed
gradius4_0120u3yel [Aaron Giles] vegas.c0120u3yel [Aaron Giles]
Source Changes
- Made some minor changes in the inline code. The result of
atomic_add32isn't used a lot of the time, so the final addition was brought out to allow it to be optimized away. Removed the unnecessary delta argument fromatomic_increment32andatomic_decrement32ineminline.h, and added implementations. Changed the condition for usingrgbsse.hto include 32-bit platforms with SSE enabled. [Vas Crabb]
- Did a major clean-up of the input ports in
ssv.c. Brought out the common joystick, mahjong and quiz input setups, and then usedPORT_INCLUDEto pull them in when needed. Also brought out the common coinage settings, to avoid needless repetition. [Vas Crabb]
- Analyzed all driver interfaces (
DRIVER_INIT,READ8_HANDLER, etc.) to determine which ones should be made static and properly tagged them all to reduce global namespace pollution. Some cases turned out to be dead code, which was also properly tagged. [Atari Ace]
- Updated the Tube Panic driver, fixing the background scroll-in (it's smooth again now). The problem was caused by wrong synchronization between main and slave CPUs. Also modified the video driver to be scanline accurate and implemented more accurate interrupt handling. [Jarek Burczynski]
- Altered TTL low high levels in
res_net.c. This will broaden the color range a bit. Since the results are normalized, there is only a limited effect visible. [couriersud]
- Cleaned up inputs and added dip locations in
ms32.c. Also fixed dips in "47pie2" and "akiss". [Sonikos]
- Fixed bug that caused incorrect input to be read if multiple inputs were mapped to the same mouse input under Windows. [Nathan Woods]
- Fixed a bug in the i8051 core that improperly fired the Timer2 interrupt when it wasn't enabled. [Jim Stolis]
- Updates to the peplus driver: [Jim Stolis]
- Added lightpen support
- Added PE+ Superboard support
- Added ABC coin optics support
- Added full I2C eeprom support
- Added NVRAM support
- Corrected door closure issues
- Removed most memory hacks
- Consolidated machines and inputs
- New layout for pepp0158
- Split up the MPU4 driver into a core and driver set up a la NeoGeo. Also made some timer fixes, and added some new ROMs added. [James Wallace]
- Fixed problems introduced when the junofrst blitter code was simplified. [Chris Hardy]
- American Poker II major rewrite: [Roberto Fresca]
- Properly dervied clocks from crystals
- Reworked
TILE_GET_INFOto handle the proper tiles/color codes. - Fixed interrupts (NMI).
- Corrected AY8910 frequency to 1.5 MHz to match the real thing.
- Arranged the AY8910 volume in all games avoiding clips.
- Corrected the screen visible area.
- Added NVRAM support.
- Reworked the memory map, mapping all the hardware I/O ports.
- Reworked the Inputs for all sets.
- Added implementation of Operator and Supervisor Keys.
- Fixed some timing troubles.
- Added partial DIP switch support with diplocations to all sets.
- Removed the hack in
DRIVER_INIT. - Hooked write handlers for output ports.
- Added watchdog routines.
- Dumped, hooked, wired and decoded the color PROM in all sets.
- Modified the refresh rate according to hardware measurements.
- Wired the lamps for all sets. Created their respective layouts.
- Splitted the driver to driver/video.
- Other minor fixes.
SCSP fixes: [kingshriek]
- Fixed
DECAY1envelope state to not exit immediately - Improved support for
LPSLNKandSBCTL - Fixed panning calculation bug
- Fixed case where key-rate scaling is off
- Fixed
- Added support for indicating that DIP switches are reversed in the DIP locations view. [Vas Crabb]
- Added DIP locations for Midway Tron and the Nintendo Donkey Kong series (
dkong.c). [Vas Crabb]
- Added an Altivec/VMX implementation of the RGB utilities for our friends with G4, G5 and POWER5 CPUs (
rgbvmx.h) and addedrgbint_bilinear_filterandrgbaint_bilinear_filtertorgbsse.h(based onrgb_bilinear_filter/rgba_bilinear_filter) for completeness, as these functions exist inrgbgen.h. [Vas Crabb]
- Updated
model2.c,taitojc.c, andgticlub.cto use the new polygon routines. Deprecated the oldpoly.cand renamedpolynew.*topoly.*. [Aaron Giles]
- Unified
poly.ccallbacks so that tri and quad callbacks work the same way. [Aaron Giles]
- Fixed display of floating point TMS32031 registers in the debugger. [Aaron Giles]
- Fixed TMS32031
ABSFopcode to work as documented and not produce a proper negative. [Aaron Giles]
New games added or promoted from NOT_WORKING status
- Player's Edge Plus (PP0516) Double Bonus Poker [Jim Stolis]
- Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker [Jim Stolis]
- Player's Edge Plus (PP0188) Standard Draw Poker [Jim Stolis]
- Player's Edge Plus (Set038) Set Chip [Jim Stolis]
- Player's Edge Plus (BE0014) Blackjack [Jim Stolis]
- Player's Edge Plus (KE1012) Keno [Jim Stolis]
- Player's Edge Plus (PS0615) Video Slots [Jim Stolis]
- Player's Edge Plus (PS0716) Video Slots [Jim Stolis]
- Player's Edge Plus (XP000019) Deuces Wild Poker [Jim Stolis]
- Player's Edge Plus (XS000006) Triple Triple Diamond Slots [Jim Stolis]
- MPU4 Unit Test [James Wallace]
- Sigma Poker [Roberto Fresca]
New clones added
- Slipstream (950515 HISPANIC) [Guru]
- Kick and Run (US) [Brian Troha]
- American Poker 95 [Roberto Fresca]
- Poker De Win [Roberto Fresca]
New games marked as GAME_NOT_WORKING
- Vegas Poker (Prototype) [James Wallace]
- Sigma Poker 2000 [Roberto Fresca]
Other Versions
This article is part of the MAME series. A list of all series can be found in the Series Category
editEarly versions: 0.1 to 0.10 | 0.11 to 0.20 | 0.21 to 0.26 | 0.27 to 0.31
The beta 30s: 0.33b1 to 0.33 | 0.34b1 to 0.34 | 0.35b1 to 0.35b8 | 0.35b9 to 0.35f | 0.36b1 to 0.36b9.1 | 0.36b10 to 0.36 | 0.37b1 to 0.37b8 | 0.37b9 to 0.37b16
50s, 60s & 70s: 0.53 to 0.60 | 0.61 to 0.68 | 0.69 | 0.70 | 0.71 | 0.72 | 0.73 | 0.74 | 0.75 | 0.76 | 0.77 | 0.78 | 0.79
80s & 90s: 0.80 | 0.81 | 0.82 | 0.83 | 0.84 | 0.85 | 0.86 | 0.87 | 0.88 | 0.89 | 0.90 | 0.91 | 0.92 | 0.93 | 0.94 | 0.95 | 0.96 | 0.97 | 0.98 | 0.99
100s & 110s: 0.100 | 0.101 | 0.102 | 0.103 | 0.104 | 0.105 | 0.106 | 0.107 | 0.108 | 0.109 | 0.110 | 0.111 | 0.112 | 0.113 | 0.114 | 0.115 | 0.116 | 0.117 | 0.118 | 0.119
120s & 130s: 0.120 | 0.121 | 0.122 | 0.123 | 0.124 | 0.125 | 0.126

